Как правильно использовать многопользовательский API в Lucene? - PullRequest
0 голосов
/ 22 января 2012

У меня есть несколько индексов, но я хотел знать, какой способ использования верен.

IndexReader r1= IndexReader.open(...)
IndexReader r2= IndexReader.open(...)
MultiReader mr= new MultiReader(r1,r2)

1)

IndexSearcher s = new IndexSearcher(mr);

2)

IndexSearcher s = new IndexSearcher(mr,new IndexReader[]{r1,r2}....

Какой из них правильный?

1 Ответ

1 голос
/ 22 января 2012

Руководствуясь Lucene API Doc, вы должны придерживаться

IndexSearcher s = new IndexSearcher(mr);

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

IndexSearcher s = new IndexSearcher(mr,new IndexReader[]{r1,r2}....

помечено 'ПРЕДУПРЕЖДЕНИЕ. Этот API является экспериментальным и может измениться несовместимыми способами в следующем выпуске.' . Я предполагаю, что причина, по которой эти дополнительные опции конструкторов были введены для облегчения внутреннего подкласса Lucene, пожалуйста, обратитесь к комментариям к LUCENE-1925

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