Как частичный поиск по индексу lucene? (поиск некоторых документов, а не всех) - PullRequest
0 голосов
/ 24 октября 2011

Не уверен, что название подходит для этой цели, но я хочу, чтобы можно было искать только несколько документов (и не все) из индекса lucene.

Думайте об этом как о следующем контексте:

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

Можно ли ограничить поиск только некоторыми документами? или мне нужно искать ВСЕ индекс и затем фильтровать результаты?

Спасибо!

Ответы [ 2 ]

1 голос
/ 24 октября 2011

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

1 голос
/ 24 октября 2011

Посмотрите на QueryWrapperFilter. Это позволит вам легко делать подобные вещи.

Обратите внимание, что это больше для простоты кодирования. Это не очень поможет производительности, потому что в фоновом режиме, это эффективный поиск по всему индексу, но это облегчает кодирование «поиск в поиске». Поиск по всему индексу не является проблемой, потому что это главная цель индекса - сделать поиск по индексу чрезвычайно быстрым. Это предполагает, что у вас есть идентификатор книги, который, кстати, проиндексирован. Если это так, то включение идентификатора книги в ваш поиск позволяет очень быстро выполнять поиск по всему индексу для этой конкретной книги.

...