solr 索引中的文档流行度是什么?
EDisMax 解析器使用 boost 参数。在这样的示例&boost=popularity
中,我注意到一个查询。我无法理解boost和boost=popularity是什么。在了解 boost 参数之前,我想知道文档索引中的“流行度”是什么。
popularity
只是用作示例的“某些字段”,而是为请求处理程序boost
定义的查询参数。edismax
提升意味着根据某个字段值(或基于字段值的某些函数的结果)影响评分(每个搜索命中的相关性)。
请参阅https://cwiki.apache.org/confluence/display/solr/The+Extended+DisMax+Query+ParserThe boost Parameter
中的部分。
如果你想popularity
在你自己的索引中实现类似的东西,你必须:
popularity
中,使用 type int
or float
or调用ExternalFileField
(取决于您如何索引和应用它)。ExternalFileField
(或将来通过docValues
部分更新)存储您从统计数据中获得的流行度值。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/
Boosting用于增加某些文档的分数。您可以使用索引时间提升或查询时间提升。对于索引时间提升,您可以boost
为您索引的文档设置属性和值。对于查询时间提升,您可以通过设置提升值来提升字段,也可以使用预定义的函数查询。
有关在 Solr wiki 中提升检查文档的更多信息。
boost=popularity表示文档的流行度是在外部字段中计算的(使用ExternalFileField),并用于通过使用流行度值来增加分数。可以使用查看次数或您想要的任何其他参数来计算文档的受欢迎程度。有关通过受欢迎程度提升文档的更多信息,您可以查看此文档。