【问题标题】:ConstantScoreRangeQuery in LuceneLucene 中的 ConstantScoreRangeQuery
【发布时间】:2009-06-28 11:00:44
【问题描述】:

Lucene 的ConstantScoreRangeQuery 比旧的RangeQuery 好多少?

在什么情况下你应该使用仍然使用 RangeQuery?

【问题讨论】:

    标签: lucene lucene.net legacy


    【解决方案1】:

    根据您链接中的 RangeQuery 文档, 一个 ConstantScoreRangeQuery:

    • 比 RangeQuery 快。
    • 如果值的范围很大,则不会导致 BooleanQuery.TooManyClauses 异常。
    • 不会根据可能匹配的单个术语的稀缺性来影响评分。

    假设您对获得更高分数的稀缺术语感兴趣(假设您正在查看一个小时范围,但希望获得更高分数 - 也许您正在寻找一天中的“慢”时段来运行备份过程)。在这种情况下,较旧的 RangeQuery 似乎更可取。

    下一代将是TrieRangeQuery,目前在贡献部分。它可能是 Lucene 2.9 核心的一部分。它提供比其他两种方法更快的范围查询。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多