如何提高Apache Solr中的搜索排名

时间:2016-11-29 06:25:20

标签: apache solr

我正在使用 Apache Solr 实现搜索引擎。我希望在最频繁的搜索的基础上改进结果。
例如:考虑我的索引有5个字
向下99
绘制46
黑暗86
沉闷75
脏63 这些数字显示用户对特定单词进行了多少次封锁。 我想如果下一个用户来了它并键入 D ,响应应该按先前搜索的降序排列,并且应该按顺序下降
深橙色黯淡

绘制

结果会不时变化,因为每次搜索后单词搜索频率都会发生变化。我如何在Solr中实现这一点......任何帮助都会对我有所帮助。祝你期待
关心A.S.Danyal

2 个答案:

答案 0 :(得分:1)

正如vinod所写,你必须自己跟踪实际搜索 - Solr没有内置任何东西来处理这个问题。但是,如果您有可用的搜索统计信息,则可以通过单独的集合/核心来实现该功能,其中包含您搜索的搜索及其受欢迎程度。每个文档都是搜索词,以及搜索该文档的频率,即document:search,search_count。

您还可以使用对数函数来使用search_count的分数来影响搜索词的分数,例如,如果您不仅仅将搜索作为影响分数的字段(例如活动类别等) )。

根据搜索量,您可能不需要在每次搜索后更新这些值 - 只需每天更新一次或每隔一小时更新一次就足够了。跟踪自上次更新以来搜索量发生变化的术语,并以特定间隔更新批处理作业中的这些文档。

答案 1 :(得分:0)

Solr不提供此类功能。

实现这一目标的一种方法是使用日志, 您需要输入搜索词的索引。这可以通过挖掘搜索日志来构建。

相关问题