Lucene String и числовые диапазоны запросов - PullRequest
0 голосов
/ 31 мая 2018

Мне просто любопытно, почему Lucene не различает строковые и числовые значения стандартным способом ... например, ['2' TO '6'] и [2 TO 6] для запросов диапазона и обрабатывает их все по умолчанию как String.

Есть ли какая-либо конкретная причина для того, чтобы рассматривать оба этих случая как строковые значения?

1 Ответ

0 голосов
/ 01 июня 2018

Ваш пример запроса диапазона основан на синтаксисе запроса lucene.В этом определении не определено, в каком типе поля вы выполняете этот запрос.

В основном, если вы примените этот запрос к TextField, оценка будет основана на String.Если вы примените это к IntPoint, число будет интерпретироваться как целое число.Ответственным за это является QueryParser, в котором вы добавляете свой запрос и свое поле, которое хотите найти.

В вашем случае использование IntPoint будет иметь смысл, поскольку вы хотите искать числовой диапазон.

Подробнее о парсере запросов см. QueryParser Javadoc

...