1

我通过 JOIN 查询加入了 2 个 mysql 表,并通过 SOLR 中的 DIH 导入了数据。

但是,一半的记录被自动删除。我通过阅读numDocsmaxDocsdeletedDocs值来了解这一点。

我已经检查了我已经在data-config.xml以及schema.xml文件中定义的表中的所有字段。

这有什么问题?

请帮助我。

4

1 回答 1

1

它是对现有文档的替换

numDocs+DeletedDocs = MaxDocs 
 (821+1160=1981)

numDocs 表示索引中可搜索文档的数量 maxDoc 可能比 numDoc 计数更大,因为它包括尚未从索引中删除的逻辑删除文档。

如果您重新索引/重新发布 numDocs 将永远不会增加,因为新文档将不断替换旧文档...尝试优化索引,它可能会删除逻辑删除的文档/索引。

唯一键字段

<uniqueKey></uniqueKey>

<uniqueKey>声明可用于通知 Solr 您的索引中有一个字段对于所有文档应该是唯一的。如果添加的文档包含与现有文档相同的字段值,则旧文档将被删除。

于 2015-05-21T12:03:41.853 回答