Experimental feature: Hybrid Search and Vector Store #677
Replies: 41 comments 127 replies
|
hi, an excellent feature, can we use filters with vector search ? |
|
Hi, if I use OpenAI to create the vector to store in DB but when I search I use Hugingface vector to search is it will work fine or show the right result or not? |
|
When I tested the meilisearch:v1.3.0-rc.3 vector search, I got results, but didn't see _semanticSimilarity. Strange |
|
I've been experimenting with Vector Search with the release in 1.3, but I am having two issues, which I am not sure how to address
I know it's experimental, but this seems to be very drastic issue, so maybe I am not doing it right? Update: |
|
Hybrid search is not yet in the experimental right? I assume we are looking into it before the 1.4 release. I could set up and use the current vector search right away, I also had a session at "Drupal Camp Pune" and did a small introduction to vectors and hybrid search added it behind a small demo for the users to interact with. (We are trying to use it behind a QnA bot) Let me know how can I help with this hybrid search thing. Even though I am not a rust expert I can give it a try :) |
|
Is it possible to have varying lengths of vectors across documents in an index? documents = [
{ 'id': 1, 'Text': 'I like to eat broccoli and bananas.', '_vectors': embedding_service(["I like to eat broccoli", "I like to eat bananas", "I like to eat broccoli and bananas."]) },
{ 'id': 2, 'Text': 'The Packers won the 2011 NFL Super Bowl with Aaron Rodgers', '_vectors': embedding_service(["The Packers won in 2011", "The Packers won the 2011 NFL Super Bowl with Aaron Rodgers"]) },
]would fail with this message: What I'm looking for is having multiple vectors belong to a document and upon vector search, compute dot product with all vectors for all documents |
|
I have some questions regarding this feature:
[1] I am new to the whole vector search so please correct me if I mention something wrong. |
Hi everyone, its september 30 today, how is the feature going?, what other potential date can be expect it to be fully stable relatively? Thanks for considering this feature 👍 |
|
hi, i just setup a collection with 16 Million 3 dimension vectors basically all possible RGB values normalized , as i inserted them, first 300k records got added fine after that, its painfully slow , the tasks still running after 12 hrs can anyone suggest any limit to what amount of vector we can add ? looking for a solution of 40M records with 1024 dimensions. |
|
Vector Search Is it possible to search for images by image? |
|
Hey folks 👋 v1.6 has been released! 🦊 Hybrid search and auto-embedding features are now available for your use ✨ Check out our documentation to learn how to use them. We're looking forward to your feedback! |
|
hi @macraig, is it possible to hybrid search with user-provided embeddings? I read through the document but seem like they are mutual exclusive? |
|
I've wanted to add some more recent and well-performing embedders, like E5 models or even mpnet model, which is the 3rd most popular Sentence Similarity model on Hugging Face. But as I encountered errors and asked in support, I was told only BERT models for autoembedding with HuggingFace are supported at the moment, which makes it impractical for me to use built-in Meilisearch capabilities for this and I have to use a separate service, where I can use better models. Here's a good link discussing differences and why many mainstream BERT embedders are not as good as new alternatives: https://blog.metarank.ai/from-zero-to-semantic-search-embedding-model-592e16d94b61 So it would be great if support for more models could be added. |
|
Anyone knows how to monitor the state of the auto-embedding? I configured the embedder using the embedders: {
default: {
source: 'huggingFace',
model: 'BAAI/bge-base-en-v1.5',
documentTemplate:
"Title: {{doc.title}}. {% if doc.subheading %}Subheading: {{doc.subheading}}. {% endif %}Content: {{doc.content}}."
}I have 100k documents in the index. And it is running for a while already in my local machine, so I would like to debug how long the full auto-embedding would take. Is there an endpoint that could give me information of the current embedding? |
|
Since 25/01 OpenAI added two new embedding model:
They also added an optional field that can limit the number of dimensions for both new models. As of right now only
see: OpenAI blog post |
Regarding the storage part, an excellent solution would be binary quantization of vectors. It maintains 95% to 99% of the retrieval performance with significantly less storage because the vectors are binary instead of floating-point numbers. Regarding the speed, I think the necessary algorithms and data structures are already available. There are many established and emerging players in the vector search field that claim impressive speeds. For example, a new library claims "0.1 milliseconds query latency on million-scale vector datasets." Therefore, achieving this should be feasible. All that being said, considering the current vector search landscape, natively implementing Colbert ranking is indispensable for a top-choice, go-to database solution. |
|
Adding a feature request from rustyx for non-BERT models described in meilisearch/meilisearch#4718 |
|
|
Hey folks 👋 🦎 v1.9 has been released and it includes multiple updates and some Looking forward to your feedback! |
|
Would love to see configuration on API base for OpenAI embedder get supported. Currently it's hardcoded but in enterprise env, we may need to access the service with a different URL or a proxy, which is done by changing the URL base. The official openai python library support this. |
|
Hi everyone, We are preparing to stabilize the feature and would appreciate your feedback to improve it. We noticed that most users opt for the Your input is invaluable in helping us refine and enhance the feature. Thank you! |
|
Hi, |
|
Is there any way to check the indexing status? Is there any way to check for which documents the vectors are generated?
And nothing happens. So, the real question in hand is - how to debug what is going on? Please advise. |
|
Hello again everyone 👋 🦩 v1.10 has been released and it includes multiple updates and some Looking forward to your feedback! |
|
Hi, I am experimenting with local embedders. In the FAQ for Multilingual-E5-large they state that it is required to prefix input texts with Thanks in advance |
|
Do you guys have any experience/recommendations for multilanguage models? We're trying to get meilisearch running on english/german use cases and the search results have been quite odd. One such example (english) without semantic search: First hit: "title": "TEAC - Turntable - Natural Wood" With semantic search "title": "Timex - Ladies' Health Tracker Watch - Blue" |
|
Hello, how can I update the REST embedding server URL without recomputing all the embeddings please ? |
|
Hello once again 👋 🐿️ v1.11 has been released and it includes multiple updates and some Looking forward to your feedback! |
|
Hey everyone 👋 We have some big news to share 🎉 🕊️ v1.13 has been released, and from this version onwards, Hybrid search, vector store, and all our current AI features are considered stable ✨ Please check out the release notes before upgrading. As this is no longer considered experimental, I'm closing this discussion, but feel free to open new ones in our Feedback and Feature proposal section. |


Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Meilisearch v1.3 (released July 31) introduces a Vector Store feature:
_vectorsfield.vectorquery field. The_semanticScorefield is added to the resulting documents. It represents a dot product of the distance between the nearest vector and thevectorfrom the search query.Meilisearch v1.6 (released January 15th) improves on the Vector Store feature:
Meilisearch v1.7 (released March 11th) improves on the Vector Store feature:
Keywords: Semantic Search, Vector Search, Embeddings Search, Hybrid Search.
Experimental feature abstract
Creating one or multiple
embeddersfor an index triggers a new step in the indexing process where embeddings are generated for each indexed document.Passing
"hybrid": {}to a query from the/indexes/{:indexUid}/searchor/multi-searchperforms both a keyword search and a vector search. If no"vector"was provided, it is generated from the"q"field.How to use the feature?
Please refer to the public API page
What is an experimental feature
By enabling this feature via the
/experimental-featuresroute, you opt into the following:embedderssetting can change in a breaking way between two minor versions of Meilisearch.You can use this feature in production but be prepared to update your code from one version to the next.
Why is this feature not stable yet?
Storing the vectors is currently very expensive, and retrieving them is too. We hope to make progress on that. We are unsure of the API surface we want to expose, even if the current one seems correct.
🗣️ You are welcome to give feedback about the score details or ask any question on its usage; we are eager to collect feedback on the feature
When will the feature potentially be stable?
[Updated] Due to the large increase in API surface and us missing previous estimates, we cannot provide an estimate for the time being
To fully disable the feature, you need to delete the
embedderssetting from any index using the feature by callingDELETE http://localhost:7700/indexes/<index_using_the_feature>/settings/embeddersbefore callingPATCH 'http://localhost:7700/experimental-features/'withvectorStoreset tofalse.experimental-featuresrouteAll reactions