elasticsearch ES批量索引显示删除的文档很少,elasticsearch,indexing,elasticsearch,Indexing" /> elasticsearch ES批量索引显示删除的文档很少,elasticsearch,indexing,elasticsearch,Indexing" />

elasticsearch ES批量索引显示删除的文档很少

elasticsearch ES批量索引显示删除的文档很少,elasticsearch,indexing,elasticsearch,Indexing,我在ES中索引了443663个文档。 当我获得/_统计数据时,它会显示 "primaries":{ "docs:{ "count": 443625, "deleted":38 } } } 有趣的是计数+删除的总和=443663 奇怪的是为什么要删除这些 提前感谢您的帮助这是因为在批量调用中,您有38个重复的id,即38个用于与另一个已编制索引的id相同的文档的命令 很容易复制: POST test2/_doc/_bulk {

我在ES中索引了443663个文档。 当我获得/_统计数据时,它会显示

"primaries":{
"docs:{
"count": 443625,
"deleted":38
}
}
}
有趣的是计数+删除的总和=443663 奇怪的是为什么要删除这些


提前感谢您的帮助

这是因为在批量调用中,您有38个重复的id,即38个用于与另一个已编制索引的id相同的文档的命令

很容易复制:

POST test2/_doc/_bulk
{"index": {"_id": 1}}
{"test": 1}
{"index": {"_id": 1}}
{"test": 1}
{"index": {"_id": 2}}
{"test": 1}
{"index": {"_id": 3}}
{"test": 1}
现在,
GET test2/\u stats
生成这个,因为id为
1
的文档被索引了两次:

"primaries" : {
  "docs" : {
    "count" : 3,
    "deleted" : 1
  },

你的批量中有“删除”命令还是只有“索引”命令?只是“索引”命令非常感谢你。很酷,很高兴它有帮助!