solr索引中的 文档受欢迎程度 是什么?
EDisMax解析器使用boost参数。在示例&boost=popularity
中,我发现了一个查询。我无法理解什么是 提升 以及 提升=受欢迎程度 。在理解boost参数之前,我想知道文档索引中的“流行度”是什么。
答案 0 :(得分:2)
popularity
只是“某个字段”,它已被用作示例,而boost
是为edismax
请求处理程序定义的查询参数。提升意味着根据某些字段值(或某些基于字段值的函数的结果)影响评分(每个搜索命中的相关性)。
请参阅https://cwiki.apache.org/confluence/display/solr/The+Extended+DisMax+Query+Parser中的The boost Parameter
部分。
如果您想在自己的索引中实现popularity
之类的内容,则必须:
popularity
的模式中添加一个字段int
或float
或ExternalFileField
(取决于您如何编制索引并应用它)。ExternalFileField
(或将来通过docValues
部分更新)存储您从统计数据中获得的热门程度值。boost=popularity
(或在函数查询中使用popularity
)来应用提升。更多关于人气提升的信息:
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。