Solr 索引时间提升 VS 查询时间提升?

Posted

技术标签:

【中文标题】Solr 索引时间提升 VS 查询时间提升?【英文标题】:Solr Index time boosting VS Query time boosting? 【发布时间】:2012-05-18 17:42:36 【问题描述】:

问题 1:我们可以只做 Query time boosting(with dismax)而不提及 Index time 的 boost 值吗?

问题 2:与查询时间提升相比,索引时间提升有哪些优点/缺点,反之亦然。

查询时间和索引时间提升:

在索引时,您可以选择提升特定文档(整个或只是一个字段)。这在内部存储为规范编号的一部分,必须启用它才能正常工作。执行索引时间提升并不常见。 在查询时,我们之前已经描述了如何根据需要提高或降低查询的特定子句。稍后将演示强大的Disjunction-Max(简称dismax)查询,它可以自动将搜索应用于具有不同提升级别的多个字段。

--《Solr 1.4 Enterprise Search Server》一书第4章的段落

【问题讨论】:

【参考方案1】:

问题 1

是的,绝对的。

问题 2

索引时间提升可能会快一点,但您需要知道提升是在单个字节上编码的,这可能会导致精度损失:In Lucene, why do my boosted and unboosted documents get the same score?

查询时间提升更加灵活(可以根据每个查询进行配置)。

索引时间提升有点不切实际,我宁愿建议您开始使用查询时间提升。

【讨论】:

感谢 jpountz 的快速响应。

以上是关于Solr 索引时间提升 VS 查询时间提升?的主要内容,如果未能解决你的问题,请参考以下文章

如何大幅优化solr的查询性能

Solr - 在学期开始时以完全匹配的方式提升结果

Lucene 6.6.0 中的索引时间字段级别提升?

Solr 中按日期更强的提升

如何提升oracle大表查询的效率啊?

由于url大小超过SOLR而使用map函数进行排序的问题