如何正确配置Solr以删除字段中的重复项
我已经基于mysql产品数据库构建了一个solr核心。核心工作良好,我可以搜索产品。我面临的问题是,当一个搜索词在描述中多次出现时,与只包含该词一次的产品相比,该产品被认为更相关。有没有办法告诉声纳不考虑重复的话? 我已经读过UniqFieldsUpdateProcessorFactory,但无法正确配置它,因此我甚至不确定这是否是解决我的问题的正确方法 我已将其添加到我的solrconfig.xml中如何正确配置Solr以删除字段中的重复项,solr,duplicates,Solr,Duplicates,我已经基于mysql产品数据库构建了一个solr核心。核心工作良好,我可以搜索产品。我面临的问题是,当一个搜索词在描述中多次出现时,与只包含该词一次的产品相比,该产品被认为更相关。有没有办法告诉声纳不考虑重复的话? 我已经读过UniqFieldsUpdateProcessorFactory,但无法正确配置它,因此我甚至不确定这是否是解决我的问题的正确方法 我已将其添加到我的solrconfig.xml中 <processor class="solr.UniqFieldsUpdateProc
<processor class="solr.UniqFieldsUpdateProcessorFactory">
<str name="fieldRegex">.*_uniq</str>
</processor>
.*u uniq
我也不知道如何验证这个配置是否真的在工作,以及有什么影响(如果有)
任何关于如何前进的建议都将不胜感激。您可以在schema.xml的索引部分添加
solr.removedUpplicateStokenFilterFactory
过滤器,以便在索引时删除重复项。此和中有使用示例。这将需要重新编制索引
我在更新处理器链中使用solr.UniqFieldsUpdateProcessorFactory
,以确保在原子更新期间不会添加重复项。文档上载时从未尝试过它的行为。Yonik在本文中解释了原子更新。我使用它的方式如下:
<processor class="solr.UniqFieldsUpdateProcessorFactory">
<str name="fieldRegex">[NAME OF MY FIELD IN SCHEMA.XML]</str>
</processor>
[SCHEMA.XML中我的字段的名称]
您可以使用重复记录的样本数据在本地设置中进行测试。问题是索引问题还是相关性问题?因为通常情况下,如果一个术语在一个字段中出现多次,则文档被认为比其他文档更相关 如果您不想这样做,可以使用enable重新定义字段,它不会存储或考虑在该特定字段中看到术语的次数 更改后,您需要重新索引所有内容