meilisearch / meilisearch-java

Java client for Meilisearch

Home Page:https://meilisearch.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[v1.3] [EXPERIMENTAL] Vector Store

brunoocasali opened this issue · comments

⚠️ This issue is generated, it means the examples and the namings do not necessarily correspond to the language of this repository.
Also, if you are a maintainer, feel free to add any clarification and instruction about this issue.

Sorry if this is already partially/completely implemented, feel free to let me know about the state of this issue in the repo.

Related to meilisearch/integration-guides#280


New implementation

⚠️ A disclaimer about labeled EXPERIMENTAL features:

To ensure we still deliver stability to our users and have ways to innovate. Meilisearch has a way to opt-in for experimental features. The user must query a particular route and enable/disable those features.
The SDKs receiving the experimental features will likely change soon (a.k.a: breaking changes), which will not trigger a major version update.
So, before adopting a experimental feature, be sure what you're doing.

Related to:

It allows the user to store dense vectors to be retrieved later during search time.

What needs to be changed:

  • Ensure sending the vector key during the search works: client.index('myindex').search('query', { vector: [0.1, ...] })
  • Ensure it is possible to send during the data ingestion the _vectors special field in the documents: client.index('myindex').add_documents({ _vectors: [0.1, ...] })
  • The response can contain a vector key similar to the q key.

⚠️ This feature is enabled by querying PATCH /experimental-features with { "vectorStore": true }

Extra: Add inline documentation for the method, explaining the availability of this feature only for Meilisearch v1.3 and newer. And that is also an experimental feature that needs to be opt-in manually using the /experimental-features meilisearch/meilisearch#3857 endpoint.

TODO:

  • Add the ability receive a new param in the search request called vector.
  • Add the ability handle a vector key in the response.
  • Add integration tests (don't forget to enable the experimental feature)

I close this issue since it's an experimental which is already outdated
If someone wants to implement AI search in this repo, please refer to the v1.6.0 changelogs