【问题标题】:Solr - most frequent searched wordsSolr - 最常见的搜索词
【发布时间】:2019-11-24 23:47:01
【问题描述】:

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

但是我似乎无法找到如何检索 solr/lucene 中搜索最多的前 10 个单词/术语/关键字。我怎样才能得到这个?我想在我的主页上显示这些。

【问题讨论】:

    标签: search solr lucene


    【解决方案1】:

    您可以使用 facet 来检索 Top 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”开头

    编辑:我真的应该早点睡觉。我没有在您的问题中看到“搜索最多”。很抱歉。

    【讨论】:

    • 所以这不是答案吗?使用 this 返回的“top x words”是什么?
    【解决方案2】:

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

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

    【讨论】:

    • 非常感谢您的回复...我会尝试使用日志拦截
    【解决方案3】:

    到目前为止,Apache Solr 不提供任何此类功能。对此有一个愿望,并有与之对应的 JIRA 票证。如果您希望有一天在 Solr 中看到它,可以投票给它:https://issues.apache.org/jira/browse/SOLR-10359

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-28
      • 2015-11-02
      • 2011-02-07
      • 2014-02-04
      • 1970-01-01
      • 2023-04-04
      相关资源
      最近更新 更多