从 MySQL 导入 JOINed 表时,数据已被自动删除

Data has been deleted automatically when importing JOINed tables from MySQL

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

但是,一半的记录被自动删除了。我通过阅读 numDocsmaxDocs & deletedDocs values.

了解了这一点

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

这里面有什么问题?

请帮帮我。

它是对现有文档的替换

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

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

如果你 reindex/repost numDocs 永远不会增加,因为新文档会不断替换旧文档...尝试优化索引,它可能会删除逻辑删除的 documents/indexs.

唯一键字段

<uniqueKey></uniqueKey>

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