Lucene: Как выполнить поиск по нескольким независимым наборам индексов и объединить результат?

Теперь у меня есть несколько наборов индексов Lucene (я называю это осколками), которые индексируют разные наборы документов. Они независимы, что означает, что я могу выполнять поиск по каждому из них, не читая других. Затем я получаю запрос. Я хочу найти его по каждому набору индексов и объединить результат, чтобы сформировать окончательный топ документов.

Я знаю, что при оценке документов Люсене нужно знатьIDF> каждого термина, и разные наборы индексов будут давать разные <IDF> к одному и тому же термину (потому что разные наборы индексов содержат разные наборы документов). Таким образом, насколько я понимаю, я не могу сравнивать оценку документа из разных наборов индексов напрямую. Тогда как мне получить конечный результат?

Очевидным решением будет сначала объединить индекс, а затем выполнить поиск по большому индексу. Тем не менее, это слишком много времени для меня и, следовательно, неприемлемо. У кого-нибудь есть другие лучшие решения?

П.С .: Я неЯ не хочу использовать какие-либо пакеты или программы (например, Katta), кроме Lucene и Hadoop.

Ответы на вопрос(1)

Ваш ответ на вопрос