NDJSON/CSV methods to add and update documents
See original GitHub issue⚠️ This issue is generated, it means the nameing might be done differently in this package (ex: add_documents_json
instead of addDocumentsJson
). Keep the already existing way of naming in this package to stay idiomatic with the language and this repository.
📣 We strongly recommend doing multiple PRs to solve all the points of this issue
MeiliSearch v0.23.0 introduces two changes:
- new valid formats to push data files, additionally to the JSON format: CSV and NDJSON formats.
- it enforces the
Content-type
header for every route requiring a payload (POST
andPUT
routes)
Here are the expected changes to completely close the issue:
-
Currently, the SDKs always send
Content-Type: application/json
to every request. Only thePOST
andPUT
requests should send theContent-Type: application/json
and not theDELETE
andGET
ones. -
Add the following methods and 🔥 the associated tests 🔥 to ADD the documents. Depending on the format type (
csv
orndjson
) the SDK should sendContent-Type: application/x-dnjson
orContent-Type: text/csv
)-
addDocumentsJson(string docs, string primaryKey)
-
addDocumentsCsv(string docs, string primaryKey)
-
addDocumentsCsvInBatches(string docs, int batchSize, string primaryKey)
-
addDocumentsNdjson(string docs, string primaryKey)
-
addDocumentsNdjsonInBatches(string docs, int batchSize, string primaryKey)
-
-
Add the following methods and 🔥 the associated tests 🔥 to UPDATE the documents. Depending on the format type (
csv
orndjson
) the SDK should sendContent-Type: application/x-dnjson
orContent-Type: text/csv
)-
updateDocumentsJson(string docs, string primaryKey)
-
updateDocumentsCsv(string docs, string primaryKey)
-
updateDocumentsCsvInBatches(string docs, int batchSize, string primaryKey)
-
updateDocumentsNdjson(string docs, string primaryKey)
-
updateDocumentsNdjsonInBatches(string docs, int batchSize, string primaryKey)
-
docs
are the documents sent as String
primaryKey
is the primary key of the index
batchSize
is the size of the batch. Example: you can send 2000 documents in raw String in docs
and ask for a batchSize
of 1000, so your documents will be sent to MeiliSearch in two batches.
Example of PRs:
- in PHP SDK: https://github.com/meilisearch/meilisearch-php/pull/235
- in Python SDK: https://github.com/meilisearch/meilisearch-python/pull/329
Related to: https://github.com/meilisearch/integration-guides/issues/146
If this issue is partially/completely implemented, feel free to let us know.
Issue Analytics
- State:
- Created 2 years ago
- Reactions:1
- Comments:6 (6 by maintainers)
Hi @Azanul, Thank you for your interest, you can implement what you want 😊
@alallema Please reopen as not all methods are completed.