2011-12-13 21 views
4

當文檔被髮送到Solr並且這樣的文件已經存在於索引(由它的ID)的塊的更新,則新一個替換舊的。Solr的,現有的文件

但我不希望自動替換文件。只要忽略並繼續下一步。我如何配置solr。

我當然可以查詢到Solr的檢查,如果它有文件了,不過這是對我不好,因爲我做批量更新,這將過程複雜化,並增加委託量。

那麼,有沒有配置Solr的忽略重複任何方式?

+0

你讀過我的更新答案嗎?它有用嗎? – javanna 2012-01-14 11:15:14

+0

是的,它是有用的。感謝您的關注和幫助。我通過實施簡單的更新處理程序來解決這個問題,該程序丟棄了現有的新文檔。 – Alexander 2012-01-17 09:48:20

回答

7

將文檔發送到UpdateHandler時,您可以禁用自動覆蓋文檔,使用相同的uniqueIndex指定添加元素中的屬性overwrite="false"。看看here

<add overwrite="false"> 
    <doc> 
     <field name="id">id</field> 
    </doc> 
</add> 

反正這允許有重複的文件到Solr的,而不是跳過與現有的相同ID的新文檔。我不認爲這是你想要的行爲。

我想你應該自己寫UpdateHandlerUpdateRequestProcessor或按照你從solr user mailing list得到的建議。