Как я могу убедиться, что когда я объединю несколько индексов temp (которые могут содержать или не содержать дубликаты документов), я получаю одну копию в основном индексе?
Спасибо
Вот путь: При условии, что каждый документ имеет идентификатор, а дублирующие документы имеют одинаковый идентификатор:
mark the indexes by I1..Im.
for i in 1..m, let Ci = all the indexes but Ii
for all the documents Dj in Ii,
let cur_term = "id:<Dj id>"
for Ik in Ci
Ik.deleteDocuments(cur_term)
merge all indexes
Суть заключается в следующем: удалить все документы, имеющие тот же идентификатор, что и текущий документ, из других индексов. Сделав это для всех индексов, объедините их. Я знаю, что это не изящно, но я не знаю лучшего алгоритма.