什么意味着Solr中的“文档受欢迎程度”

时间:2012-12-03 05:48:59

标签: solr document edismax

solr索引中的 文档受欢迎程度 是什么?

EDisMax解析器使用boost参数。在示例&boost=popularity中,我发现了一个查询。我无法理解什么是 提升 以及 提升=受欢迎程度 。在理解boost参数之前,我想知道文档索引中的“流行度”是什么。

2 个答案:

答案 0 :(得分:2)

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)来应用提升。
  5. 更多关于人气提升的信息:

    https://www.safaribooksonline.com/blog/2014/11/04/implementing-popularity-boosting-in-search/

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

    ExternalFileField: http://www.findwise.com/blog/externalfilefield-in-solr/

答案 1 :(得分:1)

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

有关提升支票documents in Solr wiki的更多信息。

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