【问题标题】:What means "document popularity" in SolrSolr 中的“文档流行度”是什么意思
【发布时间】:2012-11-20 14:23:17
【问题描述】:

什么是 solr 索引中的文档流行度..?

EDisMax 解析器使用 boost 参数。在 &boost=popularity 这样的示例中,我注意到一个查询。我不明白什么是 boost 以及 boost=popularity。在了解 boost 参数之前,我想知道什么是文档索引中的“流行度”。

【问题讨论】:

    标签: solr document edismax


    【解决方案1】:

    popularity 只是用作示例的“某个字段”,而boost 是为edismax 请求处理程序定义的查询参数。提升意味着根据某个字段值(或某些函数的结果基于字段值)影响评分(每个搜索命中的相关性)。

    请参阅https://cwiki.apache.org/confluence/display/solr/The+Extended+DisMax+Query+Parser 中的The boost Parameter 部分。

    如果您想在自己的索引中实现 popularity 之类的东西,您必须:

    1. 在您的架构中添加一个名为 popularity 的字段,其类型为 intfloatExternalFileField(取决于您如何索引和应用它)。
    2. 收集搜索结果的统计数据并存储与文档 ID 相关的数据(例如通过评估访问日志)
    3. 在索引期间或通过ExternalFileField(或将来通过docValues 部分更新)存储您从统计数据中获得的流行度值。
    4. 通过设置参数boost=popularity(或在函数查询中使用popularity)在查询期间应用提升。

    更多关于人气提升的信息:

    https://www.slideshare.net/lucenerevolution/potter-timothy-boosting-documents-in-solr

    docValues 部分更新: https://issues.apache.org/jira/browse/SOLR-5944

    外部文件字段: http://www.findwise.com/blog/externalfilefield-in-solr/

    【讨论】:

      【解决方案2】:

      Boosting 用于增加某些文档的分数。您可以使用索引时间提升或查询时间提升。对于索引时间提升,您可以将boost 属性和值设置为您索引的文档。对于查询时间提升,您可以通过设置提升值来提升字段,也可以使用预定义的函数查询。

      有关提升检查的更多信息documents in Solr wiki

      boost=popularity 表示文档流行度在外部字段中计算(使用ExternalFileField),并使用流行度值来增加分数。可以使用查看次数或您想要的任何其他参数来计算文档的受欢迎程度。有关通过受欢迎程度提升文档的更多信息,您可以check this document

      【讨论】:

      • 很模糊,boost=popularity还没解释,怎么在Solr中设置一个文档的流行度。
      猜你喜欢
      • 2014-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-17
      • 1970-01-01
      • 1970-01-01
      • 2012-07-21
      相关资源
      最近更新 更多