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.)
Our docs Ai Assistant doesn’t deep dive into the code base
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!