-
Notifications
You must be signed in to change notification settings - Fork 15
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
Changes regarding Meilisearch v1.2.0 #261
Comments
since |
For delete by filter:
This means a user could send both ids and filters in the same request. Based on the spec I think delete by filter has to be a new separate method. * Introduce a new POST /indexes/:index_uid/documents/delete route that lets you delete documents by filter
* The payload must be an object only containing a filter field, i.e.: { "filter": "doggo = bernese" }
* A new error has been introduced in case the specified filter is wrong or empty: invalid_document_delete_filter The current |
I have this ready here if anyone wants ideas for a starting point. In working on it there is one thing I think is worth mentioning that may catch end users (because it got me for a minute 😃). If you forget to add the fields to the filterable attributes and use them for deletes/gets you don't get an error. It acts as everything worked as expected and gives successful responses, it just doesn't do anything. Another question I have is why add the |
What about using Both previous routes seem to be just a lesser performant version of the newly introduced routes. |
This is doable without a breaking change since the end user doesn't see this part. Have you measured performance between the options to see the new ones are more performant? If not I may run some tests to see what the difference would be. |
To answer @sanders41, @meilisearch/engine-team can you tell us if the
While we can avoid a breaking change on the |
770: Update code-samples for v1.2 r=alallema a=meili-bot _This PR is auto-generated._ Update the code-samples.meilisearch.yml according to the [integration-guides issue](meilisearch/integration-guides#270) for more information and the complete description about what should be done here check that issue. This is the [central issue](meilisearch/integration-guides#261) about the Meilisearch release v1.2 in the integrations. Co-authored-by: meili-bot <74670311+meili-bot@users.noreply.github.com> Co-authored-by: alallema <amelie@meilisearch.com> Co-authored-by: Amélie <alallema@users.noreply.github.com>
442: Update code-samples for v1.2 r=alallema a=meili-bot _This PR is auto-generated._ Update the code-samples.meilisearch.yml according to the [integration-guides issue](meilisearch/integration-guides#270) for more information and the complete description about what should be done here check that issue. This is the [central issue](meilisearch/integration-guides#261) about the Meilisearch release v1.2 in the integrations. Co-authored-by: meili-bot <74670311+meili-bot@users.noreply.github.com> Co-authored-by: alallema <amelie@meilisearch.com> Co-authored-by: Amélie <alallema@users.noreply.github.com>
503: Changes related to the next Meilisearch release (v1.2.0) r=brunoocasali a=meili-bot Related to this issue: meilisearch/integration-guides#261 This PR: - gathers the changes related to the next Meilisearch release (v1.2.0) so that this package is ready when the official release is out. - should pass the tests against the [latest pre-release of Meilisearch](https://github.com/meilisearch/meilisearch/releases). - might eventually contain test failures until the Meilisearch v1.2.0 is out.⚠️ This PR should NOT be merged until the next release of Meilisearch (v1.2.0) is out. _This PR is auto-generated for the [pre-release week](https://github.com/meilisearch/integration-guides/blob/main/resources/pre-release-week.md) purpose._ Co-authored-by: Bruno Casali <brunoocasali@gmail.com>
437: Changes related to the next Meilisearch release (v1.2.0) r=brunoocasali a=meili-bot Related to this issue: meilisearch/integration-guides#261 This PR: - gathers the changes related to the next Meilisearch release (v1.2.0) so that this package is ready when the official release is out. - should pass the tests against the [latest pre-release of Meilisearch](https://github.com/meilisearch/meilisearch/releases). - might eventually contain test failures until the Meilisearch v1.2.0 is out.⚠️ This PR should NOT be merged until the next release of Meilisearch (v1.2.0) is out. _This PR is auto-generated for the [pre-release week](https://github.com/meilisearch/integration-guides/blob/main/resources/pre-release-week.md) purpose._ Co-authored-by: meili-bot <74670311+meili-bot@users.noreply.github.com> Co-authored-by: Bruno Casali <brunoocasali@gmail.com>
515: Update code-samples for v1.2 r=brunoocasali a=meili-bot _This PR is auto-generated._ Update the code-samples.meilisearch.yml according to the [integration-guides issue](meilisearch/integration-guides#270) for more information and the complete description about what should be done here check that issue. This is the [central issue](meilisearch/integration-guides#261) about the Meilisearch release v1.2 in the integrations. Co-authored-by: meili-bot <74670311+meili-bot@users.noreply.github.com> Co-authored-by: Bruno Casali <brunoocasali@gmail.com>
442: Update code-samples for v1.2 r=brunoocasali a=meili-bot _This PR is auto-generated._ Update the code-samples.meilisearch.yml according to the [integration-guides issue](meilisearch/integration-guides#270) for more information and the complete description about what should be done here check that issue. This is the [central issue](meilisearch/integration-guides#261) about the Meilisearch release v1.2 in the integrations. Co-authored-by: meili-bot <74670311+meili-bot@users.noreply.github.com> Co-authored-by: Bruno Casali <brunoocasali@gmail.com>
755: Changes related to the next Meilisearch release (v1.2.0) r=alallema a=meili-bot Related to this issue: meilisearch/integration-guides#261 This PR: - gathers the changes related to the next Meilisearch release (v1.2.0) so that this package is ready when the official release is out. - should pass the tests against the [latest pre-release of Meilisearch](https://github.com/meilisearch/meilisearch/releases). - might eventually contain test failures until the Meilisearch v1.2.0 is out.⚠️ This PR should NOT be merged until the next release of Meilisearch (v1.2.0) is out. _This PR is auto-generated for the [pre-release week](https://github.com/meilisearch/integration-guides/blob/main/resources/pre-release-week.md) purpose._ Done: - #756 - #757 Co-authored-by: meili-bot <74670311+meili-bot@users.noreply.github.com> Co-authored-by: Paul Sanders <psanders1@gmail.com> Co-authored-by: Amélie <alallema@users.noreply.github.com> Co-authored-by: alallema <amelie@meilisearch.com>
435: Changes related to the next Meilisearch release (v1.2.0) r=alallema a=meili-bot Related to this issue: meilisearch/integration-guides#261 This PR: - gathers the changes related to the next Meilisearch release (v1.2.0) so that this package is ready when the official release is out. - should pass the tests against the [latest pre-release of Meilisearch](https://github.com/meilisearch/meilisearch/releases). - might eventually contain test failures until the Meilisearch v1.2.0 is out.⚠️ This PR should NOT be merged until the next release of Meilisearch (v1.2.0) is out. _This PR is auto-generated for the [pre-release week](https://github.com/meilisearch/integration-guides/blob/main/resources/pre-release-week.md) purpose._ Co-authored-by: meili-bot <74670311+meili-bot@users.noreply.github.com> Co-authored-by: Amélie <alallema@users.noreply.github.com> Co-authored-by: alallema <amelie@meilisearch.com>
1489: Changes related to the next Meilisearch release (v1.2.0) r=bidoubiwa a=meili-bot Related to this issue: meilisearch/integration-guides#261 This PR: - gathers the changes related to the next Meilisearch release (v1.2.0) so that this package is ready when the official release is out. - should pass the tests against the [latest pre-release of Meilisearch](https://github.com/meilisearch/meilisearch/releases). - might eventually contain test failures until the Meilisearch v1.2.0 is out.⚠️ This PR should NOT be merged until the next release of Meilisearch (v1.2.0) is out. _This PR is auto-generated for the [pre-release week](https://github.com/meilisearch/integration-guides/blob/main/resources/pre-release-week.md) purpose._ Co-authored-by: meili-bot <74670311+meili-bot@users.noreply.github.com> Co-authored-by: cvermand <33010418+bidoubiwa@users.noreply.github.com>
467: Changes related to the next Meilisearch release (v1.2.0) r=bidoubiwa a=meili-bot Related to this issue: meilisearch/integration-guides#261 This PR: - gathers the changes related to the next Meilisearch release (v1.2.0) so that this package is ready when the official release is out. - should pass the tests against the [latest pre-release of Meilisearch](https://github.com/meilisearch/meilisearch/releases). - might eventually contain test failures until the Meilisearch v1.2.0 is out.⚠️ This PR should NOT be merged until the next release of Meilisearch (v1.2.0) is out. _This PR is auto-generated for the [pre-release week](https://github.com/meilisearch/integration-guides/blob/main/resources/pre-release-week.md) purpose._ Co-authored-by: meili-bot <74670311+meili-bot@users.noreply.github.com> Co-authored-by: Charlotte Vermandel <charlottevermandel@gmail.com>
1501: Update version for the next release (v0.33.0) r=bidoubiwa a=meili-bot Release CHANGELOG: This version introduces features released on Meilisearch v1.2.0 🎉 Check out the changelog of [Meilisearch v1.2.0](https://github.com/meilisearch/meilisearch/releases/tag/v1.2.0) for more information on the changes.⚠️ If you want to adopt new features of this release, **update the Meilisearch server** to the according version. ### 🚀 Enhancements - The first parameter of the method `deleteDocuments(params)` now supports two different types. Either an array of document ID's or an object containing a `filter` field. The `filter` field works precisely like the `filter` field used on the `search` method (see [the docs on how to use filters](https://www.meilisearch.com/docs/learn/advanced/filtering#filter-basics)) and lets you determine which documents should be deleted.⚠️ Still, even being supported, the ability to receive an array of document ID's is deprecated and should be changed to an object containing the filter field. #1492 `@bidoubiwa` - `getDocuments(parameters: DocumentsQuery)`, now accepts a new `filter` field to filter the documents you'd like to fetch. The `filter` field works precisely like the `filter` field used on the `search` method (see [the docs on how to use filters](https://www.meilisearch.com/docs/learn/advanced/filtering#filter-basics)). #1493 `@bidoubiwa` These feature requires a Meilisearch server version greater than v1.2. Thanks again to `@bidoubiwa!` 🎉 1504: Update code-samples for v1.2 r=bidoubiwa a=meili-bot _This PR is auto-generated._ Update the code-samples.meilisearch.yml according to the [integration-guides issue](meilisearch/integration-guides#270) for more information and the complete description about what should be done here check that issue. This is the [central issue](meilisearch/integration-guides#261) about the Meilisearch release v1.2 in the integrations. Co-authored-by: meili-bot <74670311+meili-bot@users.noreply.github.com> Co-authored-by: Charlotte Vermandel <charlottevermandel@gmail.com>
476: Update version for the next release (v0.24.0) r=bidoubiwa a=meili-bot Release CHANGELOG: This version introduces features released on Meilisearch v1.2.0 🎉 Check out the changelog of [Meilisearch v1.2.0](https://github.com/meilisearch/meilisearch/releases/tag/v1.2.0) for more information on the changes.⚠️ If you want to adopt new features of this release, **update the Meilisearch server** to the according version. ### 🚀 Enhancements - Add a new `index.delete_documents_with(DocumentDeletionQuery)` method, which takes as a parameter a `DocumentDeletionQuery` struct. The struct has one builder method, `with_filter(filter: &str)`. The `filter` works precisely like the `filter` field used with the `search` method (see [the docs on how to use filters](https://www.meilisearch.com/docs/learn/advanced/filtering#filter-basics)) and lets you determine which documents should be deleted. #472 `@bidoubiwa` - Add a new builder method `with_filter(filter: &str)` on `DocumentDeletionQuery` struct used by `index.get_documents_with`. The `filter` works precisely like the `filter` field used with the `search` method (see [the docs on how to use filters](https://www.meilisearch.com/docs/learn/advanced/filtering#filter-basics)) and lets you determine which documents should be fetched. #473 `@bidoubiwa` These feature requires a Meilisearch server version greater than v1.2. Thanks again to `@bidoubiwa!` 🎉 477: Update code-samples for v1.2 r=bidoubiwa a=meili-bot _This PR is auto-generated._ Update the code-samples.meilisearch.yml according to the [integration-guides issue](meilisearch/integration-guides#270) for more information and the complete description about what should be done here check that issue. This is the [central issue](meilisearch/integration-guides#261) about the Meilisearch release v1.2 in the integrations. Co-authored-by: meili-bot <74670311+meili-bot@users.noreply.github.com>
306: Changes related to the next Meilisearch release (v1.2.0) r=brunoocasali a=meili-bot Related to this issue: meilisearch/integration-guides#261 This PR: - gathers the changes related to the next Meilisearch release (v1.2.0) so that this package is ready when the official release is out. - should pass the tests against the [latest pre-release of Meilisearch](https://github.com/meilisearch/meilisearch/releases). - might eventually contain test failures until the Meilisearch v1.2.0 is out.⚠️ This PR should NOT be merged until the next release of Meilisearch (v1.2.0) is out. _This PR is auto-generated for the [pre-release week](https://github.com/meilisearch/integration-guides/blob/main/resources/pre-release-week.md) purpose._ Co-authored-by: meili-bot <74670311+meili-bot@users.noreply.github.com> Co-authored-by: Ahmed Fwela <63286031+ahmednfwela@users.noreply.github.com> Co-authored-by: Ahmed Fwela <ahmednfwela@bdaya-dev.com> Co-authored-by: Bruno Casali <brunoocasali@gmail.com>
317: Update code-samples for v1.2 r=brunoocasali a=meili-bot _This PR is auto-generated._ Update the code-samples.meilisearch.yml according to the [integration-guides issue](meilisearch/integration-guides#270) for more information and the complete description about what should be done here check that issue. This is the [central issue](meilisearch/integration-guides#261) about the Meilisearch release v1.2 in the integrations. Co-authored-by: meili-bot <74670311+meili-bot@users.noreply.github.com> Co-authored-by: Bruno Casali <brunoocasali@gmail.com>
This pre-release is finished. All the remaining work was moved to our own repositories, closing this! Thanks team you're the best! 🎉 |
This issue gathers the changes related to the v1.1.0 of Meilisearch that will impact the integrations team.
📅 Release date: June 5th, 2023
The whole milestone of v1.2.0 is here!
tier #1
. Some of the features described here fortier #2
will also be ready for the release day. Check the features below to understand which tier will receive which feature.🖖 Click here to check the current tiers state of the integrations:
Understand everything about tiers here.
Delete documents by filter
Related to:
It allows the user to use a filter expression to remove documents.
Since there is already a method called
deleteDocuments(uids)
/delete_documents(uids)
in the SDKs, and this method is calling the routePOST /indexes/:index_uid/documents/delete-batch
, the requirements to implement the new way is to create a conditional internally to check the presence of the new parameterfilters
and then call the new methodPOST /indexes/:index_uid/documents/delete
.When the developer uses the old
ids
argument, it should keep calling the old implementation.This will avoid any silent failures the users may find.
For example, in the Ruby SDK:
Extra: Add inline documentation for the method, explaining the availability of the filter syntax only for Meilisearch v1.2 and newer.
Extra: Mark the
document_ids
parameter asdeprecated
. eg.@Deprecated('migration')
on Java/Dart, Obsolete on C#, etc. Add a library if necessary.Extra: Add a
try
/catch
to detect the error and give the user a hint about the possibility of a version mismatch between the SDK version and the instance version. Check this PR for an example in JavaScript: meilisearch/meilisearch-js#1492Extra: General recommendations:
🤩 Affected integrations: All the integrations from
tier #1
.Retrieve documents by filter
Related to:
Gives the user the possibility to use a filter expression to retrieve documents, like in
search
.Following the same concept in the previous section, deleting by filters, this Meilisearch version introduces a new way of finding documents by introducing a new route and arguments.
Implement in the
getDocuments
/get_documents
method an internal conditional allowing the user to query the documents with the same method but using a new filter method.When the user calls the get documents method with a
⚠️ If the method invocation does not contain a
filter
argument, requestPOST /indexes/{index_uid}/documents/fetch
using a JSON body containing anint offset
,int limit
,String[] fields
and nowString filter
orString[] filter
.filter
it should still call the previous implementation.🤩 Affected integrations: All the integrations from
tier #1
.IS EMPTY
filter operatorRelated to:
IS NULL
filter operator meilisearch#3615IS NULL
andIS EMPTY
filter operators specifications#232Add the
IS EMPTY
new operator to thefilterExpression
DSL on the Dart SDK.🤩 Affected integrations: Only
meilisearch-dart
.IS NULL
filter operatorRelated to:
IS NULL
filter operator meilisearch#3615IS NULL
andIS EMPTY
filter operators specifications#232Add the
IS NULL
new operator to thefilterExpression
DSL on the Dart SDK.🤩 Affected integrations: Only
meilisearch-dart
.The text was updated successfully, but these errors were encountered: