计数查询所用时间-ElasticSearch

yduiuuwa  于 2023-03-01  发布在  ElasticSearch
关注(0)|答案(2)|浏览(136)

我想知道ElasticSearch中计数查询所花费的时间,就像包含**took**- time taked的搜索查询一样。
我的查询类似于-curl -XGET "http://localhost:9200/index1/type1/_count"
查询结果-

{
   "count": 136,
   "_shards": {
      "total": 15,
      "successful": 15,
      "failed": 0
   }
}

有没有什么方法可以让我像搜索API一样获得计数查询所需的时间?
API计数文档-Count API

mbskvtky

mbskvtky1#

在写这个答案的时候,它仍然不受弹性的支持,提出了一个feature request,主要是我将努力添加它的支持。

vsnjm48y

vsnjm48y2#

可以帮助实现这一点的技巧是使用_search

  • size为零(因此不会返回结果);
  • track_total_hits设置为true(因此它将计数所有命中,而不仅仅是结果窗口中的命中);以及
  • filter_path等于took,htis.total.value

例如,我在我的集群中执行了上面的查询...

GET viagens-*/_search?filter_path=took,hits.total.value
{
  "size": 0,
  "track_total_hits": true,
  "query": {
    "match_all": {}
  }
}

......结果是:

{
  "took": 2,
  "hits": {
    "total": {
      "value": 2589552
    }
  }
}

不幸的是,它不会分析计数API本身,但有类似的结果。在某些情况下作为替代方案可能非常有用!

相关问题