为什么Solr在仅执行Update时删除文档?

时间:2017-04-19 11:07:54

标签: json solr

我正在向Solr插入677个JSON文档。在我检查Solr中的文档总数时完成更新后,它会显示以下值:

enter image description here

Num Docs: 676 Max Doc: 677 Deleted Docs: 1

我的问题是,为什么Solr正在删除1个文档,我所做的只是post -c core *.json

我正在使用Solr版本 - 6.5.0

1 个答案:

答案 0 :(得分:0)

您的json文件中可能有重复的文档(或重复的密钥)。

我写这篇是因为Solr基于Lucene Java搜索库。

Lucene发现重复文档(这意味着重复的密钥)并没有真正更新索引中的文档,而是在幕后删除并插入每个更新的新文档。

Lucene 6.5.0 - Class IndexWriter

  

[...]在任何一种情况下,都会使用addDocument添加文档并将其删除   deleteDocuments(Term ...)或deleteDocuments(Query ...)。 文件可以   用updateDocument更新(只删除然后添加   整个文件)