Solr对销售的提升功能



我正在使用Apache Solr 8作为文档的产品。每个文档都包括我想要提升的过去 X 天内的销售额,以及标题和其他字段。

假设产品 A 已售出 5 次,

我想用 score+10 提升它;一个产品 B 已售出 50 次,我想将分数提高 30。

我尝试使用看起来像(edismax查询解析器(的boostFunction。

q=Coffee&qf=title&bf=if(lt(sales,5),10,if(lt(sales,50),30))

Solr现在返回与我的"咖啡"查询无关但仅匹配boost函数的文档。甚至还有得分为"0"的结果。例如

Rank;Score;Sales;Title
1;58.53;55;Coffee big
2;38.11;50;Coffee
3;30;55;Tea

有什么想法可以摆脱那些"仅增强功能"匹配吗?

找到了答案!

我的查询字段实际上包括

诸如
&qf=title^2 longDescription^0 whatever^0...

solr 不会排除在这些 0 提升字段中找到的结果,而是将它们相加并与 - 井分 0 匹配。

当我删除 0 升压时,一切都按预期工作。

相关内容

  • 没有找到相关文章

最新更新