Json 为什么Solr在只执行更新时删除文档?

Json 为什么Solr在只执行更新时删除文档?,json,solr,Json,Solr,我正在向Solr中插入677个JSON文档。更新完成后,当我检查Solr中的文档总数时,它会显示以下值: Num Docs:676 Max Doc:677 已删除的文档:1 我的问题是,为什么Solr要删除一个文档,而我所做的只是post-c core*.json 我使用的是Solr版本-6.5.0可能您的json文件中有重复的文档(或重复的密钥) 我写这篇文章是因为Solr基于Lucene Java搜索库 Lucene在发现重复文档(这意味着重复密钥)时,不会真正更新索引中的文档,而是在幕后

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

Num Docs:676
Max Doc:677
已删除的文档:1

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


我使用的是Solr版本-6.5.0

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

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

Lucene在发现重复文档(这意味着重复密钥)时,不会真正更新索引中的文档,而是在幕后为每次更新删除并插入新文档

[…]在这两种情况下,文档都是用addDocument添加的,而用addDocument删除的 删除文档(术语…)或删除文档(查询…)文档可以 使用updateDocument进行更新(它只是删除然后添加 整个文档)


因此,这意味着当我们发布文档时,Solr首先删除它,然后插入它。若文档是第一次添加到Solr中,那个么这怎么可能呢?我被你们的想法误导了,“我在Solr中更新/发布了677个JSON文档。”。您的json文件中可能有重复的记录(或重复的密钥)。对不起!是我的错,我没有正确地发布我的问题。实际上,我插入了677个文档。如果是重复钥匙的情况,那么我必须检查。顺便说一下,我已经更新了我的问题。你有时间再检查一下吗?是的,我检查过了!重复的密钥导致了问题。