meilisearch-python-sdk 5.1.0__tar.gz → 5.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/PKG-INFO +8 -8
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/README.md +7 -7
- meilisearch_python_sdk-5.2.0/docs/client_api.md +53 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/docs/json_handler.md +9 -9
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/docs/plugins.md +36 -36
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/examples/add_documents_decorator.py +5 -5
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/examples/add_documents_in_batches.py +4 -4
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/examples/documents_and_search_results.py +11 -11
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/examples/orjson_example.py +3 -3
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/examples/search_tracker.py +7 -7
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/examples/ujson_example.py +3 -3
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/examples/update_settings.py +5 -5
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/meilisearch_python_sdk/_client.py +108 -90
- meilisearch_python_sdk-5.2.0/meilisearch_python_sdk/_version.py +1 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/meilisearch_python_sdk/index.py +303 -303
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/pyproject.toml +2 -2
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/tests/conftest.py +2 -1
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/uv.lock +316 -291
- meilisearch_python_sdk-5.1.0/docs/client_api.md +0 -35
- meilisearch_python_sdk-5.1.0/meilisearch_python_sdk/_version.py +0 -1
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/.github/FUNDING.yml +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/.github/release-draft-template.yaml +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/.github/renovate.json5 +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/.github/workflows/docs_publish.yml +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/.github/workflows/nightly_testing.yml +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/.github/workflows/pypi_publish.yml +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/.github/workflows/release-drafter.yml +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/.github/workflows/testing.yml +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/.gitignore +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/.pre-commit-config.yaml +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/CONTRIBUTING.md +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/LICENSE +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/assets/add_in_batches.png +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/assets/searches.png +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/codecov.yml +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/datasets/small_movies.json +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/docker-compose.https.yml +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/docker-compose.yml +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/docs/.nojekyll +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/docs/CNAME +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/docs/async_client_api.md +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/docs/async_index_api.md +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/docs/css/custom.css +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/docs/decorators_api.md +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/docs/index.md +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/docs/index_api.md +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/docs/js/umami.js +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/docs/overrides/partials/footer.html +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/docs/pydantic.md +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/examples/.gitignore +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/examples/README.md +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/examples/__init__.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/examples/async_add_documents_decorator.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/examples/async_add_documents_in_batches.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/examples/async_documents_and_search_results.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/examples/async_search_tracker.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/examples/async_update_settings.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/examples/fastapi_example.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/examples/pyproject.toml +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/examples/requirements.txt +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/examples/tests/__init__.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/examples/tests/conftest.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/examples/tests/test_async_examples.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/examples/tests/test_examples.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/justfile +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/meilisearch_python_sdk/__init__.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/meilisearch_python_sdk/_batch.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/meilisearch_python_sdk/_http_requests.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/meilisearch_python_sdk/_task.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/meilisearch_python_sdk/_utils.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/meilisearch_python_sdk/decorators.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/meilisearch_python_sdk/errors.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/meilisearch_python_sdk/json_handler.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/meilisearch_python_sdk/models/__init__.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/meilisearch_python_sdk/models/batch.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/meilisearch_python_sdk/models/client.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/meilisearch_python_sdk/models/documents.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/meilisearch_python_sdk/models/health.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/meilisearch_python_sdk/models/index.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/meilisearch_python_sdk/models/search.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/meilisearch_python_sdk/models/settings.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/meilisearch_python_sdk/models/task.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/meilisearch_python_sdk/models/version.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/meilisearch_python_sdk/models/webhook.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/meilisearch_python_sdk/plugins.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/meilisearch_python_sdk/py.typed +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/meilisearch_python_sdk/types.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/mkdocs.yaml +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/tests/__init__.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/tests/test_async_client.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/tests/test_async_documents.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/tests/test_async_index.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/tests/test_async_index_plugins.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/tests/test_async_search.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/tests/test_client.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/tests/test_decorators.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/tests/test_documents.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/tests/test_errors.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/tests/test_index.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/tests/test_index_plugins.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/tests/test_search.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/tests/test_settings_models.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/tests/test_utils.py +0 -0
- {meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/tests/test_version.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: meilisearch-python-sdk
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.2.0
|
|
4
4
|
Summary: A Python client providing both async and sync support for the Meilisearch API
|
|
5
5
|
Project-URL: repository, https://github.com/sanders41/meilisearch-python-sdk
|
|
6
6
|
Project-URL: homepage, https://github.com/sanders41/meilisearch-python-sdk
|
|
@@ -122,15 +122,15 @@ async with AsyncClient('http://127.0.0.1:7700', 'masterKey') as client:
|
|
|
122
122
|
```py
|
|
123
123
|
from meilisearch_python_sdk import Client
|
|
124
124
|
|
|
125
|
-
|
|
126
|
-
index = client.index("books")
|
|
125
|
+
with Client('http://127.0.0.1:7700', 'masterKey') as client:
|
|
126
|
+
index = client.index("books")
|
|
127
127
|
|
|
128
|
-
documents = [
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
]
|
|
128
|
+
documents = [
|
|
129
|
+
{"id": 1, "title": "Ready Player One"},
|
|
130
|
+
{"id": 42, "title": "The Hitchhiker's Guide to the Galaxy"},
|
|
131
|
+
]
|
|
132
132
|
|
|
133
|
-
index.add_documents(documents)
|
|
133
|
+
index.add_documents(documents)
|
|
134
134
|
```
|
|
135
135
|
|
|
136
136
|
The server will return an update id that can be used to
|
|
@@ -66,15 +66,15 @@ async with AsyncClient('http://127.0.0.1:7700', 'masterKey') as client:
|
|
|
66
66
|
```py
|
|
67
67
|
from meilisearch_python_sdk import Client
|
|
68
68
|
|
|
69
|
-
|
|
70
|
-
index = client.index("books")
|
|
69
|
+
with Client('http://127.0.0.1:7700', 'masterKey') as client:
|
|
70
|
+
index = client.index("books")
|
|
71
71
|
|
|
72
|
-
documents = [
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
]
|
|
72
|
+
documents = [
|
|
73
|
+
{"id": 1, "title": "Ready Player One"},
|
|
74
|
+
{"id": 42, "title": "The Hitchhiker's Guide to the Galaxy"},
|
|
75
|
+
]
|
|
76
76
|
|
|
77
|
-
index.add_documents(documents)
|
|
77
|
+
index.add_documents(documents)
|
|
78
78
|
```
|
|
79
79
|
|
|
80
80
|
The server will return an update id that can be used to
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
## `client` Usage
|
|
2
|
+
|
|
3
|
+
### Create a client with a context manager
|
|
4
|
+
|
|
5
|
+
This client runs in a context manager which ensures that everything is cleaned up after the use of
|
|
6
|
+
the client is done. To create a client:
|
|
7
|
+
|
|
8
|
+
```py
|
|
9
|
+
from meilisearch-python-sdk import Client
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
with Client("http://localhost:7700", "masterKey") as client:
|
|
13
|
+
index = client.index("movies")
|
|
14
|
+
...
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### Custom headers
|
|
18
|
+
|
|
19
|
+
Custom headers can be added to the client by adding them to `custom_headers` when creating the
|
|
20
|
+
client.
|
|
21
|
+
|
|
22
|
+
```py
|
|
23
|
+
from meilisearch_python_sdk import Client
|
|
24
|
+
|
|
25
|
+
with Client(
|
|
26
|
+
"http://127.0.0.1:7700",
|
|
27
|
+
"masterKey",
|
|
28
|
+
custom_headers={"header_key_1": "header_value_1", "header_key_2": "header_value_2"}
|
|
29
|
+
) as client:
|
|
30
|
+
index = client.index("movies")
|
|
31
|
+
...
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Create a client without a context manager
|
|
35
|
+
|
|
36
|
+
It is also possible to call the client without using a context manager, but in doing so you will
|
|
37
|
+
need to make sure to do the cleanup yourself:
|
|
38
|
+
|
|
39
|
+
```py
|
|
40
|
+
from meilisearch-python-sdk import Client
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
try:
|
|
44
|
+
client = Client("http://localhost:7700", "masterKey")
|
|
45
|
+
...
|
|
46
|
+
finally:
|
|
47
|
+
await client.close()
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## `Client` API
|
|
52
|
+
|
|
53
|
+
::: meilisearch_python_sdk.Client
|
|
@@ -37,9 +37,9 @@ documents = [
|
|
|
37
37
|
{"id": uuid4(), "title": "test 1", "when": datetime.now()},
|
|
38
38
|
{"id": uuid4(), "title": "Test 2", "when": datetime.now()},
|
|
39
39
|
]
|
|
40
|
-
|
|
41
|
-
index = client.index("movies", primary_key="id")
|
|
42
|
-
index.add_documents(documents)
|
|
40
|
+
with Client("http://127.0.0.1:7700", json_handler=BuiltinHandler(serializer=CustomEncoder)) as client:
|
|
41
|
+
index = client.index("movies", primary_key="id")
|
|
42
|
+
index.add_documents(documents)
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
## orjson
|
|
@@ -57,9 +57,9 @@ documents = [
|
|
|
57
57
|
{"id": uuid4(), "title": "test 1"},
|
|
58
58
|
{"id": uuid4(), "title": "Test 2"},
|
|
59
59
|
]
|
|
60
|
-
|
|
61
|
-
index = client.index("movies", primary_key="id")
|
|
62
|
-
index.add_documents(documents)
|
|
60
|
+
with Client("http://127.0.0.1:7700", json_handler=OrjsonHandler()) as client:
|
|
61
|
+
index = client.index("movies", primary_key="id")
|
|
62
|
+
index.add_documents(documents)
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
## ujson
|
|
@@ -77,7 +77,7 @@ documents = [
|
|
|
77
77
|
{"id": uuid4(), "title": "test 1"},
|
|
78
78
|
{"id": uuid4(), "title": "Test 2"},
|
|
79
79
|
]
|
|
80
|
-
|
|
81
|
-
index = client.index("movies", primary_key="id")
|
|
82
|
-
index.add_documents(documents)
|
|
80
|
+
with Client("http://127.0.0.1:7700", json_handler=UjsonHandler()) as client:
|
|
81
|
+
index = client.index("movies", primary_key="id")
|
|
82
|
+
index.add_documents(documents)
|
|
83
83
|
```
|
|
@@ -84,13 +84,13 @@ async def main() -> int:
|
|
|
84
84
|
with open("datasets/small_movies.json") as f:
|
|
85
85
|
documents = json.load(f)
|
|
86
86
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
87
|
+
async with AsyncClient("http://127.0.0.1:7700", "masterKey") as client:
|
|
88
|
+
plugins = AsyncIndexPlugins(search_plugins=(SearchTrackerPlugin(),))
|
|
89
|
+
index = await client.create_index("movies", primary_key="id", plugins=plugins)
|
|
90
|
+
task = await index.add_documents(documents)
|
|
91
|
+
await client.wait_for_task(task.task_uid)
|
|
92
|
+
result = await index.search("Cars")
|
|
93
|
+
print(result) # noqa: T201
|
|
94
94
|
|
|
95
95
|
return 0
|
|
96
96
|
|
|
@@ -142,13 +142,13 @@ def main() -> int:
|
|
|
142
142
|
with open("datasets/small_movies.json") as f:
|
|
143
143
|
documents = json.load(f)
|
|
144
144
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
145
|
+
with Client("http://127.0.0.1:7700", "masterKey") as client:
|
|
146
|
+
plugins = IndexPlugins(search_plugins=(SearchTrackerPlugin(),))
|
|
147
|
+
index = client.create_index("movies", primary_key="id", plugins=plugins)
|
|
148
|
+
task = index.add_documents(documents)
|
|
149
|
+
client.wait_for_task(task.task_uid)
|
|
150
|
+
result = index.search("Cars")
|
|
151
|
+
print(result) # noqa: T201
|
|
152
152
|
|
|
153
153
|
return 0
|
|
154
154
|
|
|
@@ -224,17 +224,17 @@ async def main() -> int:
|
|
|
224
224
|
with open("datasets/small_movies.json") as f:
|
|
225
225
|
documents = json.load(f)
|
|
226
226
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
227
|
+
async with AsyncClient("http://127.0.0.1:7700", "masterKey") as client:
|
|
228
|
+
plugins = AsyncIndexPlugins(
|
|
229
|
+
add_documents_plugins=(ModifyDocumentPlugin(),),
|
|
230
|
+
update_documents_plugins=(ModifyDocumentPlugin(),),
|
|
231
|
+
search_plugins=(FilterSearchResultsPlugin(),),
|
|
232
|
+
)
|
|
233
|
+
index = await client.create_index("movies", primary_key="id", plugins=plugins)
|
|
234
|
+
task = await index.add_documents(documents)
|
|
235
|
+
await client.wait_for_task(task.task_uid)
|
|
236
|
+
result = await index.search("cars")
|
|
237
|
+
print(result) # noqa: T201
|
|
238
238
|
|
|
239
239
|
return 0
|
|
240
240
|
|
|
@@ -295,17 +295,17 @@ def main() -> int:
|
|
|
295
295
|
with open("datasets/small_movies.json") as f:
|
|
296
296
|
documents = json.load(f)
|
|
297
297
|
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
298
|
+
with Client("http://127.0.0.1:7700", "masterKey") as client:
|
|
299
|
+
plugins = IndexPlugins(
|
|
300
|
+
add_documents_plugins=(ModifyDocumentPlugin(),),
|
|
301
|
+
update_documents_plugins=(ModifyDocumentPlugin(),),
|
|
302
|
+
search_plugins=(FilterSearchResultsPlugin(),),
|
|
303
|
+
)
|
|
304
|
+
index = client.create_index("movies", primary_key="id", plugins=plugins)
|
|
305
|
+
task = index.add_documents(documents)
|
|
306
|
+
client.wait_for_task(task.task_uid)
|
|
307
|
+
result = index.search("cars")
|
|
308
|
+
print(result) # noqa: T201
|
|
309
309
|
|
|
310
310
|
return 0
|
|
311
311
|
|
{meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/examples/add_documents_decorator.py
RENAMED
|
@@ -19,12 +19,12 @@ def load_documents() -> list[dict[str, Any]]:
|
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
def main() -> int:
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
with Client("http://127.0.0.1:7700", "masterKey") as client:
|
|
23
|
+
index = client.create_index("movies", "id")
|
|
24
|
+
load_documents()
|
|
25
|
+
documents = index.get_documents()
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
print(documents) # noqa: T201
|
|
28
28
|
|
|
29
29
|
return 0
|
|
30
30
|
|
{meilisearch_python_sdk-5.1.0 → meilisearch_python_sdk-5.2.0}/examples/add_documents_in_batches.py
RENAMED
|
@@ -9,11 +9,11 @@ def main() -> int:
|
|
|
9
9
|
with open("../datasets/small_movies.json") as f:
|
|
10
10
|
documents = json.load(f)
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
with Client("http://127.0.0.1:7700", "masterKey") as client:
|
|
13
|
+
index = client.index("movies")
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
# Meilisearch prefers larger batch sizes so set this as large as you can.
|
|
16
|
+
index.add_documents_in_batches(documents, primary_key="id", batch_size=1000)
|
|
17
17
|
|
|
18
18
|
return 0
|
|
19
19
|
|
|
@@ -50,17 +50,17 @@ def main() -> int:
|
|
|
50
50
|
with open("../datasets/small_movies.json") as f:
|
|
51
51
|
documents = json.load(f)
|
|
52
52
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
53
|
+
with Client("http://127.0.0.1:7700", "masterKey") as client:
|
|
54
|
+
plugins = IndexPlugins(
|
|
55
|
+
add_documents_plugins=(ModifyDocumentPlugin(),),
|
|
56
|
+
update_documents_plugins=(ModifyDocumentPlugin(),),
|
|
57
|
+
search_plugins=(FilterSearchResultsPlugin(),),
|
|
58
|
+
)
|
|
59
|
+
index = client.create_index("movies", primary_key="id", plugins=plugins)
|
|
60
|
+
task = index.add_documents(documents)
|
|
61
|
+
client.wait_for_task(task.task_uid)
|
|
62
|
+
result = index.search("cars")
|
|
63
|
+
print(result) # noqa: T201
|
|
64
64
|
|
|
65
65
|
return 0
|
|
66
66
|
|
|
@@ -8,9 +8,9 @@ from meilisearch_python_sdk.models.task import TaskInfo
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
def add_documents(file_path: Path | str = "../datasets/small_movies.json") -> TaskInfo:
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
with Client("http://127.0.0.1:7700", "masterKey", json_handler=OrjsonHandler()) as client:
|
|
12
|
+
index = client.create_index("movies", primary_key="id")
|
|
13
|
+
return index.add_documents_from_file(file_path)
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
def main() -> int:
|
|
@@ -53,13 +53,13 @@ def search(index: Index, query: str) -> SearchResults[JsonDict]:
|
|
|
53
53
|
|
|
54
54
|
|
|
55
55
|
def main() -> int:
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
56
|
+
with Client("http://127.0.0.1:7700", "masterKey") as client:
|
|
57
|
+
plugins = IndexPlugins(search_plugins=(SearchTrackerPlugin(),))
|
|
58
|
+
index = client.create_index("movies", primary_key="id", plugins=plugins)
|
|
59
|
+
task = add_documents(index)
|
|
60
|
+
client.wait_for_task(task.task_uid)
|
|
61
|
+
result = search(index, "Cars")
|
|
62
|
+
print(result) # noqa: T201
|
|
63
63
|
|
|
64
64
|
return 0
|
|
65
65
|
|
|
@@ -8,9 +8,9 @@ from meilisearch_python_sdk.models.task import TaskInfo
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
def add_documents(file_path: Path | str = "../datasets/small_movies.json") -> TaskInfo:
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
with Client("http://127.0.0.1:7700", "masterKey", json_handler=UjsonHandler()) as client:
|
|
12
|
+
index = client.create_index("movies", primary_key="id")
|
|
13
|
+
return index.add_documents_from_file(file_path)
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
def main() -> int:
|
|
@@ -25,11 +25,11 @@ def update_settings(index: Index) -> TaskInfo:
|
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
def main() -> int:
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
with Client("http://127.0.0.1:7700", "masterKey") as client:
|
|
29
|
+
index = client.create_index("movies", primary_key="id")
|
|
30
|
+
task = update_settings(index)
|
|
31
|
+
client.wait_for_task(task.task_uid)
|
|
32
|
+
add_documents(index)
|
|
33
33
|
|
|
34
34
|
return 0
|
|
35
35
|
|