问题 1:我们可以只做查询时间提升(使用 dismax)而不提及索引时的提升值吗?
问题 2:与查询时间提升相比,执行索引时间提升的优点/缺点是什么,反之亦然。
查询时间和索引时间提升:
在索引时,您可以选择提升特定文档(全部或仅提升一个字段)。这在内部存储为规范编号的一部分,必须启用规范编号才能正常工作。执行索引时提升并不常见。在查询时,我们前面已经描述了如何在需要时将查询的特定子句提升或降低。稍后将演示强大的 Disjunction-Max(简称 dismax)查询,它可以自动将搜索应用于具有不同提升级别的多个字段。
--《Solr 1.4 企业级搜索服务器》一书第4章中的一段
问题 1
是的,绝对。
问题2
索引时间提升可能会快一点,但您需要知道提升是在单个字节上编码的,这可能会导致精度损失: 在 Lucene 中,为什么我的提升文档和未提升文档的分数相同?
查询时提升更加灵活(可基于每个查询进行配置)。
索引时提升有点不切实际,我宁愿建议你开始使用查询时提升。