Skip to content

[v1.3] [EXPERIMENTAL] Vector Store #498

Closed
@brunoocasali

Description

@brunoocasali

⚠️ 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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions