solrnet - Solr 索引中的重复项 - 添加两次或更多次的项目

标签 solrnet solr

假设您有一个 Solr 索引,大约为: 2000 万件商品。当您为这些项目建立索引时,它们会批量添加到索引中。

所有这些项目中大约 5% 被索引两次或更多次,因此导致重复问题

如果你检查日志,你实际上可以看到这些项目确实被添加了两次(或更多次)。通常,它们之间有 2-3 分钟的间隔,它们之间也有其他项目。

触发索引的 Web 服务器处于负载平衡环境中(2 个 Web 服务器)。但是,执行实际索引的 Web 服务器是单个 Web 服务器。

以下是 solrconfig.xml 中的一些配置元素:

<indexDefaults>
.....
<mergeFactor>10</mergeFactor>
<ramBufferSizeMB>128</ramBufferSizeMB>
<maxFieldLength>10000</maxFieldLength>
<writeLockTimeout>1000</writeLockTimeout>
<commitLockTimeout>10000</commitLockTimeout>

<mergePolicy class="org.apache.lucene.index.LogByteSizeMergePolicy">
<double name="maxMergeMB">1024.0</double>
</mergePolicy>

<mainIndex>
<useCompoundFile>false</useCompoundFile>
<ramBufferSizeMB>128</ramBufferSizeMB>
<mergeFactor>10</mergeFactor>

我使用的是 Solr 1.4.1 和 Tomcat 7.0.16。我还使用最新的 SolrNET 库。

什么可能导致此重复问题?感谢您的所有投入!

最佳答案

为了完全回答你的问题,我应该能够知道架构。架构中有一个唯一的 id 字段,其工作方式更像是数据库中的唯一键,请确保将文档的唯一标识符设为唯一键,然后重复项将被覆盖以仅保留一个值。

关于solrnet - Solr 索引中的重复项 - 添加两次或更多次的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6580446/

相关文章:

solr - 刻面字段中带有特殊字符的刻面结果错误

SOLR 按 IN 查询排序

SOLR managed-schema,如何使用它?

solr - SOLR 1.4 中字段折叠的最佳实践

ruby-on-rails-3 - 如何在 sunspot/solr 全文搜索中转义非法字符?

java - tomcat 7 中的 Solr

c# - SolrNET - 根级别的数据无效。第 1 行,位置 1

c# - Solr:如何优先搜索特殊字符

solr - 如何在 SolrNet 中使用名称中有空格的字段进行搜索?

indexing - Apache Solr - 文档缺少强制性 uniqueKey 字段 : id