Запрос Lucene для диапазона поля или его отсутствия - PullRequest
1 голос
/ 05 марта 2012

Будучи новичком в Lucene, я хотел бы найти документы, в которых определенное поле либо находится в заданном диапазоне, либо полностью отсутствует.То есть я хотел бы объединить результаты этих двух запросов:

q=something AND field:[lower TO upper]
q=something AND -field:[* TO *]

Любой запрос дает мне желаемый результат, но когда я пытаюсь объединить два, я ничего не получаю:

q=something AND (field:[lower TO upper] OR -field:[* TO *])

something может быть более сложным запросом.На самом деле, мой запрос будет Solr-запросом из Java-программы на случай, если что-то изменится.Как это можно сделать?

1 Ответ

0 голосов
/ 05 марта 2012

Это также должно работать:

q=( (+something -field:[* TO *]) OR (+something +field:[lower TO upper]) )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...