如果想要计算索引( Elasticsearch)中的文档数量,那么有(至少?)有两种可能性:
count发布my_index/_count
应返回my_index.
search中的文档数在这里,可以将count用作search_type或其他类型。在这两种情况下,总计数都可以从字段['hits']['total']中提取
我的问题是:
发布于 2014-09-09 19:37:18
_count可能会更快一些,因为它不需要执行完整的查询并获取排名和结果,只需返回大小即可。
不过,更多地了解如何获得不同的结果将是一件有趣的事情。为此,我需要更多的信息,如您发送的确切查询,以及索引上是否正在进行任何索引。
但假设您执行以下操作
索引some documents
_search和_count (使用match all查询)应返回相同的总数。如果不是,那就太奇怪了。
发布于 2020-03-26 04:59:37
如果必须使用_search而不是_count,并且您使用的是Elasticsearch 7.0+,则设置size: 0和track_total_hits: true将提供与_count相同的信息
GET my-index/_search
{
"query": { "term": { "field": { "value": "xyz" } } },
"size": 0,
"track_total_hits": true
}
{
"took" : 612,
"timed_out" : false,
"_shards" : {
"total" : 629,
"successful" : 629,
"skipped" : 524,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 29349466,
"relation" : "eq"
},
"max_score" : null,
"hits" : [ ]
}
}发布于 2019-10-10 04:56:52
curl http://localhost:9200/_cat/indices?v以表格形式向您提供计数和其他信息
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
yellow open logstash-2019.10.09-000001 IS7HBUgRRzO7Rn1puBFUIQ 1 1 0 0 283b 283b
green open .kibana_task_manager_1 e4zZcF9wSQGFHB_lzTszrg 1 0 2 0 12.5kb 12.5kb
yellow open metricbeat-7.4.0-2019.10.09-000001 h_CWzZHcRsakxgyC36-HTg 1 1 6118 0 2.2mb 2.2mb
green open .apm-agent-configuration J6wkUr2CQAC5kF8-eX30jw 1 0 0 0 283b 283b
green open .kibana_2 W2ZETPygS8a83-Xcd6t44Q 1 0 1836 23 1.1mb 1.1mb
green open .kibana_1 IrBlKqO0Swa6_HnVRYEwkQ 1 0 8 0 208.8kb 208.8kb
yellow open filebeat-7.4.0-2019.10.09-000001 xSd2JdwVR1C9Ahz2SQV9NA 1 1 0 0 283b 283b
green open .tasks 0ZzzrOq0RguMhyIbYH_JKw 1 0 1 0 6.3kb 6.3kbhttps://stackoverflow.com/questions/25739888
复制相似问题