По сути, я хочу иметь возможность запросить индекс с помощью следующего запроса "phrase query" AND date:[20180101 TO 20181231]
.Я попытался использовать MultiFieldQueryParser
, но получил следующую ошибку:
Exception in thread "main" java.lang.IllegalStateException: field "date" was indexed without position data; cannot run PhraseQuery
Итак, я построил запрос, используя следующий код:
final Query phraseQ = new QueryParser("text", Analyzer.CUSTOM)
.parse(query);
final Query rangeQ = new QueryParser("date", Analyzer.CUSTOM)
.parse(dateRange);
final Query q = new BooleanQuery.Builder()
.add(phraseQ, BooleanClause.Occur.MUST)
.add(rangeQ, BooleanClause.Occur.MUST)
.build();
где запрос "phrase query"~1
и dateRange date:[20180101 TO 20181231]
.Я все еще получаю следующее исключение
Exception in thread "main" java.lang.IllegalStateException: field "date" was indexed without position data; cannot run PhraseQuery (phrase=date:"phrase query"~1)
, хотя я не запрашиваю поле даты с помощью фразы.
Объединяются ли запросы с фразами с запросами диапазона вообще