当用户搜索并点击结果时,我们会将此搜索关键字存储在数据库中。 我们得到的是每个项目的关键字列表,其中包含为该关键字点击项目的次数。
在solr架构中,我有多个字段“关键字”。如何为每个项目添加每个关键字的点击次数而不是提升,以便点击次数最多的项目位于该关键字的结果顶部/附近?
我使用dismax,目前对“apple”的查询看起来像这样:
q=apple
qf=title^0.4 keywords:"apple"^0.5
bf=hits^0.4 rating^0.3
因此,你可以看到我通过“关键字”提升,但问题是我不知道哪个项目被点击为“apple”。
我尝试在初始索引导入时为每个关键字添加boost参数。它没有帮助,我没有想法。
答案 0 :(得分:0)
您如何维护点击的数据?
如何将累积的点击数据作为单个字段与文档保持一致
您可以使用dismax boost功能轻松使用此字段来提升整个文档
可以使用大量数学函数@ http://wiki.apache.org/solr/FunctionQuery#What_is_a_Function.3F