2016-11-29 108 views
0

我正在使用Apache Solr实施搜索引擎。我想根据最频繁的搜索来改进结果。
例如:考虑我的索引有5个字
下99
拉46
黑86
沉闷的75
脏63
的数字表明有多少次用户searcded一个特定的词。 我想,如果下一个用户进入并键入d的反应应该是按降序排列的前搜查,应该是为了

黑暗
沉闷



结果将改变不时因为单词搜索频率会在每次搜索后发生变化。我如何在Solr中实现这一点...任何帮助都会对我有所帮助。
感谢你在期待
问候A.S.Danyal如何提高Apache Solr搜索排名

回答

0

Solr的不提供这种功能。

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

1

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

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

根据搜索量,您可能不需要在每次搜索后更新这些值 - 只需在每天或每隔一小时更新一次即可。跟踪自上次更新后搜索量已更改的条款,并以特定间隔更新批处理作业中的这些文档。