W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
如果索引中存在重復或接近重復的文檔,則可能需要執(zhí)行重復數(shù)據(jù)刪除。
防止重復或接近重復的文檔進入索引或用簽名/指紋標記具有重復字段折疊的文檔可以用低沖突或模糊哈希算法有效地實現(xiàn)。Solr 通過 Signature 類本地支持這種類型的重復數(shù)據(jù)刪除技術,并允許輕松添加新的哈希/簽名實現(xiàn)。簽名可以通過幾種方式實現(xiàn):
其他更復雜的模糊/近似哈希算法可以稍后添加。
注意:在重復數(shù)據(jù)刪除過程中添加將更改 allowDups 設置,使其適用于更新術語 (在本例中為 signatureField),而不是唯一的字段術語。當然,signatureField 可以是唯一的字段,但通常您希望唯一字段是獨一無二的。添加文檔時,將自動生成簽名并將其附加到指定 signatureField 中的文檔。
Solr 中有兩個地方可以配置重復數(shù)據(jù)刪除:in solrconfig.xml 和 in schema.xml。
SignatureUpdateProcessorFactory 必須被登記在 solrconfig.xml 中作為更新請求處理器鏈的一部分,如在這個例子中:
<updateRequestProcessorChain name="dedupe">
<processor class="solr.processor.SignatureUpdateProcessorFactory">
<bool name="enabled">true</bool>
<str name="signatureField">id</str>
<bool name="overwriteDupes">false</bool>
<str name="fields">name,features,cat</str>
<str name="signatureClass">solr.processor.Lookup3Signature</str>
</processor>
<processor class="solr.LogUpdateProcessorFactory" />
<processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>
這 SignatureUpdateProcessorFactory 需要以下幾個屬性:
用于生成簽名哈希的簽名實現(xiàn)。默認是org.apache.solr.update.processor.Lookup3Signature
。
必須指定實現(xiàn)的完整類路徑。上面介紹了可用的選項,要使用的關聯(lián)類路徑是:
org.apache.solr.update.processor.Lookup3Signature
org.apache.solr.update.processor.MD5Signature
org.apache.solr.update.process.TextProfileSignature
用于在逗號分隔列表中生成簽名哈希的字段。默認情況下,將使用文檔上的所有字段。
用于保存指紋/簽名的字段的名稱。該字段應該被定義schema.xml
。默認是signatureField
。
設置為 false 可禁用重復數(shù)據(jù)刪除處理。默認值是 true。
如果為 true,則默認情況下,當文檔已經與此簽名匹配時,它將被覆蓋。
如果您使用單獨的字段來存儲簽名,則必須將其編入索引:
<field name="signatureField" type="string" stored="true" indexed="true" multiValued="false" />
請確保更改您的更新處理程序以使用定義的鏈,如下所示:
<requestHandler name="/update" class="solr.UpdateRequestHandler" >
<lst name="defaults">
<str name="update.chain">dedupe</str>
</lst>
...
</requestHandler>
上述例子假設你已經定義了請求處理程序的其他部分。
還可以使用參數(shù) update.chain=dedupe 為每個請求指定更新處理器。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: