Запрос Lucene для массива и операций «IN», «ALL IN», «ANY IN» - PullRequest
0 голосов
/ 22 мая 2018

Мне нужно реализовать следующий предикат с языком запросов Lucene:

{param} IN optionIds

, где {param} - мой внешний параметр, а optionIds - массив (или коллекция).

например, у меня есть документ со следующим optionIds:

"optionIds": [
    72,
    44,
    11,
    9,
    10
  ]

Следующий предикат Lucene optionIds:72 правильно возвращает этот документ.

Но как вернуть этот документ на основе следующегозначения: 72, 11, 9

Следующий предикат optionIds:72, 11, 9 не работает, и запрос Lucene возвращает пустой результат.

Пожалуйста, покажите, как правильно использовать (эмулировать) INработа на языке запросов Lucene с массивами (коллекциями).Также, пожалуйста, покажите, как использовать ALL IN/ANY IN.

1 Ответ

0 голосов
/ 22 мая 2018

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

optionIds:(72 11 9)

Чтобы соответствовать всем условиям запроса:

optionIds:(+72 +11 +9)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...