Solr - 最常搜索的单词

时间:2013-04-16 11:16:55

标签: search solr lucene

我正在尝试组织一个solr搜索引擎。我已经设置了拼写错误系统和建议。

然而,我似乎无法找到如何在solr / lucene中检索前10个搜索次数最多的单词/术语/关键字。我怎么能得到这个?我想在我的主页上显示这些内容。

3 个答案:

答案 0 :(得分:3)

您可以使用构面检索前X个单词,如下所示:

http://yourservergoeshere/solr/select?q=*&wt=xml&indent=true&facet=true&facet.query=*&facet.field=message&facet.limit=10&facet.minCount=1

facet.field的值取决于您要搜索的字段。使用facet.limit,您(显然)将结果数量限制为10.您将在结果的末尾找到facet结果,以“facet_counts”开头

编辑:我真的应该早点睡觉。我没有在你的问题中看到“搜索次数最多”。对不起。

答案 1 :(得分:3)

Solr不提供开箱即用的此类功能。有StatsComponent,它为您提供所有类型的统计信息,但所有这些统计信息都只是数字。

根据您访问solr的方式(直接或通过您自己的应用程序),您可以拦截所有调用日志查询字符串。我在最近的项目中执行了此操作,我将查询记录到数据库中。如果您将所有关键字提交到solr服务器上的其他核心,则可以按照Hyque所述的搜索字词进行查询

答案 2 :(得分:1)

Apache Solr目前没有提供任何此类功能。需要这个和相应的JIRA票。如果您希望某天在Solr看到它,可以投票赞成它:https://issues.apache.org/jira/browse/SOLR-10359

统计信息组件提供有关统计信息的信息,但它本质上主要是数字信息。您可以解析服务器日志,并提出一种方法来构建经常搜索的术语(例如,将这些日志抽取到SiLK或Kibana中进行可视化)。

如果您能够更改前端并向UI添加一些javascript代码,或者可以拦截搜索请求并对API进行异步或批量调用以进行跟踪,则可以使用提供搜索的SearchStax Analytics跟踪搜索,点击次数,购物车操作,收入等的分析