Solr 重复数据删除不起作用
Posted
技术标签:
【中文标题】Solr 重复数据删除不起作用【英文标题】:Solr Deduplication not working 【发布时间】:2015-08-07 03:50:57 【问题描述】:我正在使用 Solr 5.2.1,并且我有一个需要唯一的字段“url”。我关注了https://wiki.apache.org/solr/Deduplication,但我仍然无法多次使用相同的 url 更新索引,并且 Solr 重复数据删除无法阻止这种情况的发生。
我尝试过使用 overwriteDupes=false 和 overwriteDupes=true,但无济于事。
我确定出了点问题,但我就是想不通。
solconfig.xml
<?xml version="1.0" encoding="UTF-8" ?>
<luceneMatchVersion>LUCENE_42</luceneMatchVersion>
<directoryFactory name="DirectoryFactory" class="$solr.directoryFactory:solr.StandardDirectoryFactory" />
<codecFactory name="CodecFactory" class="solr.SchemaCodecFactory" />
<!-- These dir are relative to this xml! -->
<lib dir="../../../solr/contrib/extraction/lib" />
<lib dir="../../../solr/dist/" regex="solr-cell-\d.*\.jar" />
<requestHandler name="standard" class="solr.StandardRequestHandler" default="true" />
<requestHandler name="/update" class="solr.UpdateRequestHandler">
<lst name="defaults">
<str name="update.chain">dedupe</str>
</lst>
</requestHandler>
<requestHandler name="/admin/" class="org.apache.solr.handler.admin.AdminHandlers" />
<admin>
<defaultQuery>*:*</defaultQuery>
</admin>
<!--
<requestHandler name="/update/extract" class="solr.extraction.ExtractingRequestHandler">
<lst name="defaults">
<str name="captureAttr">true</str>
<str name="fmap.content">text</str>
<str name="lowernames">true</str>
</lst>
</requestHandler>
--> 真的 ID 真的 网址 solr.processor.Lookup3Signature org.apache.solr.update.processor.TextProfileSignature-->
schema.xml
<?xml version="1.0" ?>
<types>
<fieldtype name="string" class="solr.StrField" />
<fieldType name="uuid" class="solr.UUIDField" indexed="true" />
</types>
<fields>
<field name="id" type="string" indexed="true" stored="true" multiValued="false" />
<field name="url" type="string" />
<field name="title" type="string" />
<field name="summary" type="string" />
<field name="description" type="string" />
<dynamicField name="*" type="string" multiValued="true" indexed="true" stored="true" />
<copyField source="*" dest="fulltext" />
<field name="fulltext" type="string" multiValued="true" />
</fields>
<defaultSearchField>fulltext</defaultSearchField>
<solrQueryParser defaultOperator="OR" />
【问题讨论】:
【参考方案1】:我通过复制 data_driven_schema_configs 文件夹并根据https://wiki.apache.org/solr/Deduplication修改 schema.xml 和 solrconfig.xml 使其工作
【讨论】:
以上是关于Solr 重复数据删除不起作用的主要内容,如果未能解决你的问题,请参考以下文章