Controlling hybrid search parameters

Description

I am new to Weaviate and am trying to understand how hybrid search is implemented. From what I understand, it is not possible to control the number of documents retrieved in each search stream (keyword or vector) before fusion. Also, when using reciprocal rank fusion it is not possible to set the k parameter, which dampens the effect of rank position (it defaults to 60 if I am not mistaken). Is this correct or am I missing something? (I checked the docs, asked the Weaviate AI assistant, and serached here for clarification.)

Server Setup Information

  • Weaviate Server Version:
  • Deployment Method:
  • Multi Node? Number of Running Nodes:
  • Client Language and Version:
  • Multitenancy?:

Any additional Information

hi @ai4ki !!

Welcome to our community :hugs:

Our docs Ai Assistant doesn’t deep dive into the code base :grimacing:

Here is a nice place to ask for AI assistance regarding codebase:

And according to this analysis:

Your observations are accurate - these are indeed current limitations in Weaviate’s hybrid search implementation. The k parameter being hardcoded to 60 is explicitly marked as a TODO item for future improvement, and there’s no mechanism to independently control the retrieval limits for each search stream before fusion.

I have not found a feature request for this in our GH repository. Please, feel invited and encouraged to go ahead and join us by creating a feature request!

Let me know if this helps!

THanks!