2

LuceneのConstantScoreRangeQueryは、古いRangeQueryよりもどのように優れていますか?

どのような場合でも、RangeQueryを使用する必要がありますか?

4

1 に答える 1

2

リンクのRangeQueryドキュメントによると、ConstantScoreRangeQuery:

  • RangeQueryよりも高速です。
  • 値の範囲が大きい場合、BooleanQuery.TooManyClauses例外は発生しません。
  • 一致する可能性のある個々の用語の不足に基づくスコアリングには影響しません。

より少ないスコアの用語に関心があるとします(たとえば、ある範囲の時間で探しているが、より少ない時間のスコアを高くしたい場合、バックアッププロセスを実行するために1日の「遅い」期間を探している可能性があります)。 。その場合、古いRangeQueryの方が望ましいようです。

次世代は、現在contribセクションにあるTrieRangeQueryになります。これはおそらくLucene2.9コアの一部になるでしょう。他の両方の方法よりも高速な範囲クエリを提供します。

于 2009-06-28T11:35:34.833 に答える