Python:如何获取elasticsearch查询的总命中数

时间:2017-06-28 17:30:24

标签: python json elasticsearch

我很高兴使用Elasticsearch电子邮件数据集使用Enron进行一些实验。我做了一个查询,得到的东西对我的实际问题并不重要。我的总点击数为4,我想将这个数字打印为:

The total number of hits is: 4

我的问题是:如何获得总点击次数?

这是我的疑问:

s = Search(using=client, index="enron_test").query('range', date={'gte': query_date_1, 'lte': query_date_2, "format": "dd/MM/yyyy||dd/MM/yyyy"})

这是从Sense获取查询的结果:

{
   "took": 6,
   "timed_out": false,
   "_shards": {
      "total": 5,
      "successful": 5,
      "failed": 0
   },
   "hits": {
      "total": 4,
       ...

2 个答案:

答案 0 :(得分:1)

您可以尝试以下操作:

es=Elasticsearch([{'host':'url','port':'9200','timeout':60}])
result=es.search(index='your index',doc_type='your doc_type',body={'query':your query})
print(result['hits']['total'])

答案 1 :(得分:0)

这对我有用

es=Elasticsearch([{'host':'url','port':'9200','timeout':60}])
res = es.count(index='your index', doc_type='your doc_type', body={'query': your query })["count"]

如果有帮助,下面是使用Python进行计数的好例子:

https://python.hotexamples.com/examples/elasticsearch/Elasticsearch/count/python-elasticsearch-count-method-examples.html