10
10
},
11
11
{
12
12
"cell_type" : " code" ,
13
- "execution_count" : 2 ,
13
+ "execution_count" : 1 ,
14
14
"metadata" : {},
15
15
"outputs" : [
16
16
{
17
- "ename" : " ConnectionError" ,
18
- "evalue" : " Error 111 connecting to localhost:36379. Connection refused." ,
19
- "output_type" : " error" ,
20
- "traceback" : [
21
- " \u001B [0;31m---------------------------------------------------------------------------\u001B [0m" ,
22
- " \u001B [0;31mConnectionRefusedError\u001B [0m Traceback (most recent call last)" ,
23
- "File \u001B[0;32m~/repositories/redis-py/redis/connection.py:614\u001B[0m, in \u001B[0;36mConnection.connect\u001B[0;34m(self)\u001B[0m\n\u001B[1;32m 613\u001B[0m \u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[0;32m--> 614\u001B[0m sock \u001B[38;5;241m=\u001B[39m \u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mretry\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mcall_with_retry\u001B[49m\u001B[43m(\u001B[49m\n\u001B[1;32m 615\u001B[0m \u001B[43m \u001B[49m\u001B[38;5;28;43;01mlambda\u001B[39;49;00m\u001B[43m:\u001B[49m\u001B[43m \u001B[49m\u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43m_connect\u001B[49m\u001B[43m(\u001B[49m\u001B[43m)\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[38;5;28;43;01mlambda\u001B[39;49;00m\u001B[43m \u001B[49m\u001B[43merror\u001B[49m\u001B[43m:\u001B[49m\u001B[43m \u001B[49m\u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mdisconnect\u001B[49m\u001B[43m(\u001B[49m\u001B[43merror\u001B[49m\u001B[43m)\u001B[49m\n\u001B[1;32m 616\u001B[0m \u001B[43m \u001B[49m\u001B[43m)\u001B[49m\n\u001B[1;32m 617\u001B[0m \u001B[38;5;28;01mexcept\u001B[39;00m socket\u001B[38;5;241m.\u001B[39mtimeout:\n",
24
- " File \u001B [0;32m~/repositories/redis-py/redis/retry.py:45\u001B [0m, in \u001B [0;36mRetry.call_with_retry\u001B [0;34m(self, do, fail)\u001B [0m\n \u001B [1;32m 44\u001B [0m \u001B [38;5;28;01mtry\u001B [39;00m:\n \u001B [0;32m---> 45\u001B [0m \u001B [38;5;28;01mreturn\u001B [39;00m \u001B [43mdo\u001B [49m\u001B [43m(\u001B [49m\u001B [43m)\u001B [49m\n \u001B [1;32m 46\u001B [0m \u001B [38;5;28;01mexcept\u001B [39;00m \u001B [38;5;28mself\u001B [39m\u001B [38;5;241m.\u001B [39m_supported_errors \u001B [38;5;28;01mas\u001B [39;00m error:\n " ,
25
- " File \u001B [0;32m~/repositories/redis-py/redis/connection.py:615\u001B [0m, in \u001B [0;36mConnection.connect.<locals>.<lambda>\u001B [0;34m()\u001B [0m\n \u001B [1;32m 613\u001B [0m \u001B [38;5;28;01mtry\u001B [39;00m:\n \u001B [1;32m 614\u001B [0m sock \u001B [38;5;241m=\u001B [39m \u001B [38;5;28mself\u001B [39m\u001B [38;5;241m.\u001B [39mretry\u001B [38;5;241m.\u001B [39mcall_with_retry(\n \u001B [0;32m--> 615\u001B [0m \u001B [38;5;28;01mlambda\u001B [39;00m: \u001B [38;5;28;43mself\u001B [39;49m\u001B [38;5;241;43m.\u001B [39;49m\u001B [43m_connect\u001B [49m\u001B [43m(\u001B [49m\u001B [43m)\u001B [49m, \u001B [38;5;28;01mlambda\u001B [39;00m error: \u001B [38;5;28mself\u001B [39m\u001B [38;5;241m.\u001B [39mdisconnect(error)\n \u001B [1;32m 616\u001B [0m )\n \u001B [1;32m 617\u001B [0m \u001B [38;5;28;01mexcept\u001B [39;00m socket\u001B [38;5;241m.\u001B [39mtimeout:\n " ,
26
- " File \u001B [0;32m~/repositories/redis-py/redis/connection.py:680\u001B [0m, in \u001B [0;36mConnection._connect\u001B [0;34m(self)\u001B [0m\n \u001B [1;32m 679\u001B [0m \u001B [38;5;28;01mif\u001B [39;00m err \u001B [38;5;129;01mis\u001B [39;00m \u001B [38;5;129;01mnot\u001B [39;00m \u001B [38;5;28;01mNone\u001B [39;00m:\n \u001B [0;32m--> 680\u001B [0m \u001B [38;5;28;01mraise\u001B [39;00m err\n \u001B [1;32m 681\u001B [0m \u001B [38;5;28;01mraise\u001B [39;00m \u001B [38;5;167;01mOSError\u001B [39;00m(\u001B [38;5;124m\" \u001B [39m\u001B [38;5;124msocket.getaddrinfo returned an empty list\u001B [39m\u001B [38;5;124m\" \u001B [39m)\n " ,
27
- " File \u001B [0;32m~/repositories/redis-py/redis/connection.py:668\u001B [0m, in \u001B [0;36mConnection._connect\u001B [0;34m(self)\u001B [0m\n \u001B [1;32m 667\u001B [0m \u001B [38;5;66;03m# connect\u001B [39;00m\n \u001B [0;32m--> 668\u001B [0m \u001B [43msock\u001B [49m\u001B [38;5;241;43m.\u001B [39;49m\u001B [43mconnect\u001B [49m\u001B [43m(\u001B [49m\u001B [43msocket_address\u001B [49m\u001B [43m)\u001B [49m\n \u001B [1;32m 670\u001B [0m \u001B [38;5;66;03m# set the socket_timeout now that we're connected\u001B [39;00m\n " ,
28
- " \u001B [0;31mConnectionRefusedError\u001B [0m: [Errno 111] Connection refused" ,
29
- " \n During handling of the above exception, another exception occurred:\n " ,
30
- " \u001B [0;31mConnectionError\u001B [0m Traceback (most recent call last)" ,
31
- "Input \u001B[0;32mIn [2]\u001B[0m, in \u001B[0;36m<cell line: 9>\u001B[0;34m()\u001B[0m\n\u001B[1;32m 6\u001B[0m r \u001B[38;5;241m=\u001B[39m redis\u001B[38;5;241m.\u001B[39mRedis(host\u001B[38;5;241m=\u001B[39m\u001B[38;5;124m'\u001B[39m\u001B[38;5;124mlocalhost\u001B[39m\u001B[38;5;124m'\u001B[39m, port\u001B[38;5;241m=\u001B[39m\u001B[38;5;241m36379\u001B[39m)\n\u001B[1;32m 8\u001B[0m schema \u001B[38;5;241m=\u001B[39m (VectorField(\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mv\u001B[39m\u001B[38;5;124m\"\u001B[39m, \u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mHNSW\u001B[39m\u001B[38;5;124m\"\u001B[39m, {\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mTYPE\u001B[39m\u001B[38;5;124m\"\u001B[39m: \u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mFLOAT32\u001B[39m\u001B[38;5;124m\"\u001B[39m, \u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mDIM\u001B[39m\u001B[38;5;124m\"\u001B[39m: \u001B[38;5;241m2\u001B[39m, \u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mDISTANCE_METRIC\u001B[39m\u001B[38;5;124m\"\u001B[39m: \u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mL2\u001B[39m\u001B[38;5;124m\"\u001B[39m}),)\n\u001B[0;32m----> 9\u001B[0m \u001B[43mr\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mft\u001B[49m\u001B[43m(\u001B[49m\u001B[43m)\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mcreate_index\u001B[49m\u001B[43m(\u001B[49m\u001B[43mschema\u001B[49m\u001B[43m)\u001B[49m\n",
32
- " File \u001B [0;32m~/repositories/redis-py/redis/commands/search/commands.py:139\u001B [0m, in \u001B [0;36mSearchCommands.create_index\u001B [0;34m(self, fields, no_term_offsets, no_field_flags, stopwords, definition, max_text_fields, temporary, no_highlight, no_term_frequencies, skip_initial_scan)\u001B [0m\n \u001B [1;32m 136\u001B [0m \u001B [38;5;28;01mexcept\u001B [39;00m \u001B [38;5;167;01mTypeError\u001B [39;00m:\n \u001B [1;32m 137\u001B [0m args \u001B [38;5;241m+\u001B [39m\u001B [38;5;241m=\u001B [39m fields\u001B [38;5;241m.\u001B [39mredis_args()\n \u001B [0;32m--> 139\u001B [0m \u001B [38;5;28;01mreturn\u001B [39;00m \u001B [38;5;28;43mself\u001B [39;49m\u001B [38;5;241;43m.\u001B [39;49m\u001B [43mexecute_command\u001B [49m\u001B [43m(\u001B [49m\u001B [38;5;241;43m*\u001B [39;49m\u001B [43margs\u001B [49m\u001B [43m)\u001B [49m\n " ,
33
- "File \u001B[0;32m~/repositories/redis-py/redis/client.py:1192\u001B[0m, in \u001B[0;36mRedis.execute_command\u001B[0;34m(self, *args, **options)\u001B[0m\n\u001B[1;32m 1190\u001B[0m pool \u001B[38;5;241m=\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mconnection_pool\n\u001B[1;32m 1191\u001B[0m command_name \u001B[38;5;241m=\u001B[39m args[\u001B[38;5;241m0\u001B[39m]\n\u001B[0;32m-> 1192\u001B[0m conn \u001B[38;5;241m=\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mconnection \u001B[38;5;129;01mor\u001B[39;00m \u001B[43mpool\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mget_connection\u001B[49m\u001B[43m(\u001B[49m\u001B[43mcommand_name\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[38;5;241;43m*\u001B[39;49m\u001B[38;5;241;43m*\u001B[39;49m\u001B[43moptions\u001B[49m\u001B[43m)\u001B[49m\n\u001B[1;32m 1194\u001B[0m \u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[1;32m 1195\u001B[0m \u001B[38;5;28;01mreturn\u001B[39;00m conn\u001B[38;5;241m.\u001B[39mretry\u001B[38;5;241m.\u001B[39mcall_with_retry(\n\u001B[1;32m 1196\u001B[0m \u001B[38;5;28;01mlambda\u001B[39;00m: \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_send_command_parse_response(\n\u001B[1;32m 1197\u001B[0m conn, command_name, \u001B[38;5;241m*\u001B[39margs, \u001B[38;5;241m*\u001B[39m\u001B[38;5;241m*\u001B[39moptions\n\u001B[1;32m 1198\u001B[0m ),\n\u001B[1;32m 1199\u001B[0m \u001B[38;5;28;01mlambda\u001B[39;00m error: \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_disconnect_raise(conn, error),\n\u001B[1;32m 1200\u001B[0m )\n",
34
- "File \u001B[0;32m~/repositories/redis-py/redis/connection.py:1386\u001B[0m, in \u001B[0;36mConnectionPool.get_connection\u001B[0;34m(self, command_name, *keys, **options)\u001B[0m\n\u001B[1;32m 1382\u001B[0m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_in_use_connections\u001B[38;5;241m.\u001B[39madd(connection)\n\u001B[1;32m 1384\u001B[0m \u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[1;32m 1385\u001B[0m \u001B[38;5;66;03m# ensure this connection is connected to Redis\u001B[39;00m\n\u001B[0;32m-> 1386\u001B[0m \u001B[43mconnection\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mconnect\u001B[49m\u001B[43m(\u001B[49m\u001B[43m)\u001B[49m\n\u001B[1;32m 1387\u001B[0m \u001B[38;5;66;03m# connections that the pool provides should be ready to send\u001B[39;00m\n\u001B[1;32m 1388\u001B[0m \u001B[38;5;66;03m# a command. if not, the connection was either returned to the\u001B[39;00m\n\u001B[1;32m 1389\u001B[0m \u001B[38;5;66;03m# pool before all data has been read or the socket has been\u001B[39;00m\n\u001B[1;32m 1390\u001B[0m \u001B[38;5;66;03m# closed. either way, reconnect and verify everything is good.\u001B[39;00m\n\u001B[1;32m 1391\u001B[0m \u001B[38;5;28;01mtry\u001B[39;00m:\n",
35
- " File \u001B [0;32m~/repositories/redis-py/redis/connection.py:620\u001B [0m, in \u001B [0;36mConnection.connect\u001B [0;34m(self)\u001B [0m\n \u001B [1;32m 618\u001B [0m \u001B [38;5;28;01mraise\u001B [39;00m \u001B [38;5;167;01mTimeoutError\u001B [39;00m(\u001B [38;5;124m\" \u001B [39m\u001B [38;5;124mTimeout connecting to server\u001B [39m\u001B [38;5;124m\" \u001B [39m)\n \u001B [1;32m 619\u001B [0m \u001B [38;5;28;01mexcept\u001B [39;00m \u001B [38;5;167;01mOSError\u001B [39;00m \u001B [38;5;28;01mas\u001B [39;00m e:\n \u001B [0;32m--> 620\u001B [0m \u001B [38;5;28;01mraise\u001B [39;00m \u001B [38;5;167;01mConnectionError\u001B [39;00m(\u001B [38;5;28mself\u001B [39m\u001B [38;5;241m.\u001B [39m_error_message(e))\n \u001B [1;32m 622\u001B [0m \u001B [38;5;28mself\u001B [39m\u001B [38;5;241m.\u001B [39m_sock \u001B [38;5;241m=\u001B [39m sock\n \u001B [1;32m 623\u001B [0m \u001B [38;5;28;01mtry\u001B [39;00m:\n " ,
36
- " \u001B [0;31mConnectionError\u001B [0m: Error 111 connecting to localhost:36379. Connection refused."
37
- ]
17
+ "data" : {
18
+ "text/plain" : [
19
+ " b'OK'"
20
+ ]
21
+ },
22
+ "execution_count" : 1 ,
23
+ "metadata" : {},
24
+ "output_type" : " execute_result"
38
25
}
39
26
],
40
27
"source" : [
74
61
{
75
62
"data" : {
76
63
"text/plain" : [
77
- " Result{2 total, docs: [Document {'id': 'user:1 ', 'payload': None, 'json ': '{ \" user \" :{ \" name \" : \" Paul John \" , \" email \" : \" [email protected] \" , \" age \" :42, \" city \" : \" London \" }} '}, Document {'id': 'user:3 ', 'payload': None, 'json ': '{ \" user \" :{ \" name \" : \" Paul Zamir \" , \" email \" : \" [email protected] \" , \" age \" :35, \" city \" : \" Tel Aviv \" }} '}]}"
64
+ " Result{2 total, docs: [Document {'id': 'a ', 'payload': None, '__v_score ': '0 '}, Document {'id': 'b ', 'payload': None, '__v_score ': '3.09485009821e+26 '}]}"
78
65
]
79
66
},
80
67
"execution_count" : 2 ,
88
75
" r.hset(\" c\" , \" v\" , \" aaaaabaa\" )\n " ,
89
76
" \n " ,
90
77
" q = Query(\" *=>[KNN 2 @v $vec]\" ).return_field(\" __v_score\" )\n " ,
91
- " res = r.ft().search(q, query_params={\" vec\" : \" aaaaaaaa\" })"
78
+ " r.ft().search(q, query_params={\" vec\" : \" aaaaaaaa\" })"
92
79
]
93
80
}
94
81
],
111
98
"name" : " python" ,
112
99
"nbconvert_exporter" : " python" ,
113
100
"pygments_lexer" : " ipython3" ,
114
- "version" : " 3.8.12 "
101
+ "version" : " 3.9.2 "
115
102
},
116
103
"orig_nbformat" : 4
117
104
},
118
105
"nbformat" : 4 ,
119
106
"nbformat_minor" : 2
120
- }
107
+ }
0 commit comments