Есть ли рекомендуемый метод IndexSearcher? - PullRequest
1 голос
/ 12 мая 2009

Я использую API поиска Lucene в веб-приложении. Какой метод класса Lucene IndexSearcher рекомендуется использовать? Является ли какой-либо метод быстрее, чем другой?

1.IndexSearcher (каталог директорий) 2.IndexSearcher (IndexReader r) 3.IndexSearcher (String path)

Спасибо за чтение.

Ответы [ 2 ]

3 голосов
/ 12 мая 2009

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

0 голосов
/ 12 мая 2009

Все дело в удобстве.

Если вы просто хотите создать IndexSearcher, используйте тот, который принимает путь.

Если у вас уже есть объект Directory, используйте тот, который принимает Directory.

И если у вас есть IndexReader ... вы поймете. Просто помните, что если вы указали IndexReader, вы должны закрыть его самостоятельно после закрытия IndexSearcher.

Я настоятельно рекомендую взять копию исходного кода Lucene . Он очень читабелен и может ответить на многие из этих вопросов.

...