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 重复数据删除不起作用的主要内容,如果未能解决你的问题,请参考以下文章

删除级联在这种情况下不起作用[重复]

为啥在javascript中删除对象不起作用[重复]

为啥我的列表视图上的删除按钮不起作用[重复]

无法从 Netezza 表中删除重复数据

NativeQuery 删除重复的 Oracle SQL Db 表条目不起作用(参见代码)

删除智能指针的内存释放不起作用[重复]