-
Notifications
You must be signed in to change notification settings - Fork 90
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NDJSON/CSV methods to add and update documents #191
Comments
The idea is the encapsulation of the functions for ndjson / json / csv? It seems
Also, about the naming, shouldn't it be snakecase , not camelcase? |
Hey @carlosb1 @curquiza issue is an issue that was created in our different SDK's, this is why the API design might not exactly follow rust conventions. We expect the contributor to adapt this design to be more in line with rust :) |
Well. I did a first PR with the first functions... I think it can be a good kickoff.... Furthermore, I think there are an issue with the tests, it saw some random error. |
Not all features are done so I re open |
508: add functions for csv documents r=curquiza a=carlosb1 # Pull Request ## Related issue Fixes partially #191 ## What does this PR do? Added the first two functions (with their tests) for issue #191. It includes two functions for sending csv payloads - `add_documents_csv` - `update_documents_csv` ## PR checklist Please check if your PR fulfills the following requirements: - [x] Does this PR fix an existing issue, or have you listed the changes applied in the PR description (and why they are needed)? - [x] Have you read the contributing guidelines? - [x] Have you made sure that the title is accurate and descriptive of the changes? Thank you so much for contributing to Meilisearch! Co-authored-by: carlosb1 <[email protected]>
Checking the code for the implementation of the batches functions: |
Indeed, you are right. If it makes no sense for the community, let's close it. This package is for the community, so let's not add useless maintenance 😄 |
add_documents_json
instead ofaddDocumentsJson
). 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:
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 asString
primaryKey
is the primary key of the indexbatchSize
is the size of the batch. Example: you can send 2000 documents in raw String indocs
and ask for abatchSize
of 1000, so your documents will be sent to MeiliSearch in two batches.Example of PRs:
CSV
NDJSON
meilisearch-python#329Related to: meilisearch/integration-guides#146
If this issue is partially/completely implemented, feel free to let us know.
The text was updated successfully, but these errors were encountered: