You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Solr KNN查询解析器与函数查询的兼容性问题咨询

Solr KNN查询解析器与函数查询的兼容性问题咨询

大家好,我正在测试Solr的向量搜索功能(当前版本为0.9.4),发现在单独使用KNN查询解析器和将其嵌入函数查询中时,结果存在不一致的情况,想跟大家请教下相关问题。

我已经配置好向量字段,并且完成了文档的索引工作。

a) 基础KNN查询

运行下面这个简单的KNN查询时,结果完全符合预期:

q={!knn f=vector_field topK=3}[.. vector here ...]

我得到了3个按余弦相似度降序排列的结果。

b) KNN与函数查询结合

接下来我想把KNN搜索和函数查询结合起来,以此对部分文档做权重提升。为了简化测试,我只是把向量得分和常数1相乘:

q={!func}product(1,$subQuery)&
subQuery={!knn f=vector_field topK=3}[.. vector here ...]

我原本以为会得到和之前一致的结果,但实际返回的却是随机文档,而且所有文档的得分都是0。下面是第一个匹配结果的解释语句:

0.0 = product(const(1),query(KnnFloatVectorQuery:vector_field[-0.080,...] 3],def=0.0)=0.0) 1.0 = boost

如果我调大topK的值,到某个临界点后,就会开始返回原本KNN查询应有的结果,并且得分也不为0了。

我没找到任何关于KNN解析器和函数查询兼容性的官方文档,有没有同学做过相关测试或者遇到过类似问题呢?

备注:内容来源于stack exchange,提问作者Duf59

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 11:49:32