在Solr中在索引时应用字段提升而不是查询时间的好处?

Mun*_*Mun 3 indexing search solr

在索引编制时对字段应用提升而不是在构建搜索查询和执行搜索时执行此操作有什么好处?

例如,我可以在向索引添加文档时对"标题"字段应用提升,或者仅在使用类似查询进行搜索时指定提升(title:test)^10.两者似乎都会达到同样的目的,我想知道是否有任何理由或好处以一种方式而不是另一种方式来做.

nik*_*500 7

请参阅差异(来自Lucene常见问题解答,但也适用于Solr)

索引时间字段提升是一种表达诸如"此文档的标题价值是大多数文档标题的两倍"之类的方式.查询时间提升是一种表达"我关心我的查询的这个子句上的匹配的方式与我对查询的其他子句匹配的两倍"的方式.

如果在每个文档上设置索引时间字段提升都没有价值.

索引时间提升需要规范,这也将启用字段长度标准化.根据您的使用情况,可能是"负面"或"不在乎".

索引时间提升稍微快一点,但我认为差异可以忽略不计,并且查询时间提升几乎总是更好的选择,因为它们提供了灵活性(如果你想改变权重则不需要重新索引).