Lucene: как назначать и / или искать - PullRequest
1 голос
/ 21 марта 2012

Я хочу выполнить поиск по двум запросам одновременно, например, «macbook pro» и «iphone», а поле по умолчанию для поиска - «title», поэтому запрос: (title: macbook pro title: iphone) , Я хочу использовать операцию «и» в каждом запросе, например, (+ title: macbook + title: pro) и операция "или" между запросами, т.е.
((+ title: macbook + title: pro) (title: iphone)). Тем не менее, после использования QueryParser для анализа этого запроса (title: macbook pro title: iphone), результат будет: запрос будет (+ title: macbook + title: pro + title: iphone). Мне тоже это не нужно. Что я могу сделать, чтобы получить правильный запрос? ((+ Title: macbook + title: pro) (title: iphone))

1 Ответ

1 голос
/ 22 марта 2012

Вы не можете достичь этого, используя параметры QueryParser, но вы можете построить свой запрос программно, используя BooleanQuery в Lucene API

Аналогичный вопрос: Как создать вложенный логический запрос с помощью LuceneAPI (a (b или c))?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...