Why does WithFunctionRerankers not take effect in Milvus Go SDK HybridSearch (2.6.x)?

1 week ago 10
ARTICLE AD BOX

I’m using Milvus 2.6.x with the Go SDK and trying to apply a function-based reranker in a hybrid search workflow, but the reranker is not being executed at all.

My setup uses HybridSearch with multiple ANN requests. The search itself works fine and returns results, but when I attach a function reranker via WithFunctionRerankers, the reranking logic appears to be silently ignored:

Results are returned successfully

The ranking is identical to running hybrid search without any reranker

No errors are reported

Any custom reranker logic (e.g. a self-hosted service) is never invoked

For comparison, using the built-in reranker works as expected:

WithReranker(client.NewWeightedReranker([]float64{0.5, 0.5}))

However, when switching to a function-based reranker like this:

WithFunctionRerankers( entity.NewFunction(). WithName("weighted_reranker"). WithType(entity.FunctionTypeRerank). WithInputFields(). WithParam("reranker", "weighted"). WithParam("weights", []float64{0.5, 0.5}). WithParam("norm_score", false), )

the reranker is never applied, and the hybrid search behaves as if no reranker was configured.

I’ve reviewed the Go client test cases in the Milvus repository (e.g. reranker_function_test.go) and tried to follow the same pattern, but I still can’t get WithFunctionRerankers to take effect in real usage.

My question is:

What conditions or configurations are required for WithFunctionRerankers to actually run in a HybridSearch when using the Milvus Go SDK (2.6.x)? Are there known limitations or incomplete support for function rerankers in this version that would cause them to be ignored?

Read Entire Article