2009-07-12 9 views

答えて

1

ここでの方法です:

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's id>" 
    for Ik in Ci 
    Ik.deleteDocuments(cur_term) 
merge all indexes 

要旨は次のとおりです:同じIDを持つすべての文書を削除 は、各文書はIDを持っており、その重複した文書が同じIDを持っていることを提供他のインデックスからの現在のドキュメントこれをすべてのインデックスに対して実行した後、それらをマージします。 これはエレガントではないことは分かっていますが、より良いアルゴリズムはわかりません。

+0

ありがとうございました。私はちょっと、tempインデックス全体を反復することを避けたいと思っていました。 – Roey

+0

IDが同じ場合、その内容が異なる場合はどうなりますか? 1つは時間枠を使用する必要があります – asyncwait

関連する問題