Skip to content

Commit 0c2f0c4

Browse files
committed
fix
1 parent 3a3b6c3 commit 0c2f0c4

File tree

2 files changed

+14
-26
lines changed

2 files changed

+14
-26
lines changed

docs/examples.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,4 @@ Examples
1010
examples/asyncio_examples
1111
examples/search_json_examples
1212
examples/set_and_get_examples
13+
examples/search_vector_similarity_examples

docs/examples/search_vector_similarity_examples.ipynb

Lines changed: 13 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -10,31 +10,18 @@
1010
},
1111
{
1212
"cell_type": "code",
13-
"execution_count": 2,
13+
"execution_count": 1,
1414
"metadata": {},
1515
"outputs": [
1616
{
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-
"\nDuring 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"
3825
}
3926
],
4027
"source": [
@@ -74,7 +61,7 @@
7461
{
7562
"data": {
7663
"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'}]}"
7865
]
7966
},
8067
"execution_count": 2,
@@ -88,7 +75,7 @@
8875
"r.hset(\"c\", \"v\", \"aaaaabaa\")\n",
8976
"\n",
9077
"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\"})"
9279
]
9380
}
9481
],
@@ -111,10 +98,10 @@
11198
"name": "python",
11299
"nbconvert_exporter": "python",
113100
"pygments_lexer": "ipython3",
114-
"version": "3.8.12"
101+
"version": "3.9.2"
115102
},
116103
"orig_nbformat": 4
117104
},
118105
"nbformat": 4,
119106
"nbformat_minor": 2
120-
}
107+
}

0 commit comments

Comments
 (0)