Как передать список «разрешенных» идентификаторов для фильтрации поиска Lucene? - PullRequest
2 голосов
/ 28 апреля 2009

Мне нужно вернуть только документы, к которым у пользователя есть доступ, из поиска Lucene. Я могу получить список идентификаторов из базы данных, которые составляют «разрешенное» подмножество. Как я могу передать это в Lucene? Статьи, которые я нашел в Интернете, предлагают мне использовать BitSet и FieldCache (я прав?), Но у меня возникают проблемы с поиском хороших примеров. У кого-нибудь есть?

Я использую C #, но любой язык был бы великолепен. Спасибо.

Ответы [ 2 ]

1 голос
/ 28 апреля 2009

Простой способ - создать MultiPhraseQuery с массивом всех совпадающих идентификаторов, используя MultiPhraseQuery.add(Term[] terms). Вы можете создать одну из этих вещей с тысячами терминов, и Lucene (как всегда) работает очень хорошо.

0 голосов
/ 13 января 2010

Как только я понял, что мне нужно использовать пользовательский фильтр, задав этот вопрос получил правильный ответ.

...