Фильтровать результаты поиска Lucene с индексированными контекстами - PullRequest
0 голосов
/ 27 февраля 2019

Я использую lucene для простого поиска, в котором индексированный документ состоит из поля name и соответствующих контекстов (одно имя может иметь несколько контекстов, а контекст может совместно использоваться разными именами).Итак, чтобы проиндексировать имя с помощью контекстов, я создаю Document doc:

doc.add(new BinaryDocValuesField("name", nameInBytesRef)
for (BytesRef context : contexts) {
  doc.add(new StringField("contexts", context, Field.Store.NO));
  doc.add(new SortedSetDocValueField("contexts", context"));
}  

Теперь я хочу найти имена, которые соответствуют моему запросу и ограничены выбранным контекстом (если контекст не выбран,конечно отображаются все совпадающие имена).

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

Спасибо!

P / S:Я использую Lucene 7.3.1, поэтому QueryWrapperFilter, упомянутый в , этот пост больше не существует.

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