Согласно документации RangeQuery в вашей ссылке,
A ConstantScoreRangeQuery:
- быстрее, чем RangeQuery.
- не вызывает исключение BooleanQuery.TooManyClauses, если диапазон значений большой.
- не влияет на оценку, основанную на нехватке отдельных терминов, которые могут совпадать.
Предположим, вы заинтересованы в том, чтобы более короткие термины оценивались выше (скажем, вы смотрите в диапазоне часов, но хотите, чтобы меньшие часы набирались выше - возможно, вы ищете "медленный" период дня для запуска процесс резервного копирования). В этом случае более старый RangeQuery кажется предпочтительным.
Следующим поколением будет TrieRangeQuery , которое в данный момент находится в разделе contrib. Это, вероятно, будет частью ядра Lucene 2.9. Он обеспечивает более быстрый диапазон запросов, чем оба других метода.