python操作Elasticsearch

xiaoxiao2021-02-28  122

from elasticsearch import Elasticsearch #连接Elasticsearch es = Elasticsearch([{'host':'192.168.0.102','port':9200}]) #查询条件,按日期区间查询名为data_index2的索引中Fcontent字段包含四川宜宾或者四川成都的两个关键词的数据统计结果,像mysql中的like效果query_where={ "query":{ "bool":{ #所有分句都必须匹配,与 AND 相同。 "must":[ {"range":{ "Fdate":{ "gte":"2017-04-10", "lte":"2017-04-20" } } }, { "bool":{ #至少有一个分句匹配,与 OR 相同 "should":[ { "query_string":{ "default_field" : "Fcontent", "query" : "\"四川\" AND \"宜宾\" " } }, { "query_string":{ "default_field" : "Fcontent", "query" : "\"四川\" AND \"成都\" " } }, ] } }, ], } }, "size": 0 }#执行查询操作获取返回结果res = es.search(index="data_index2", body=query_where)print res打印出来的结果是:{u'hits': {u'hits': [], u'total': 51, u'max_score': 0.0}, u'_shards': {u'successful': 5, u'failed': 0, u'total': 5}, u'took': 28, u'timed_out': False} 其中u'total'就是统计出来的数据条数 刘延林 | 梦陆 认证博客专家 屌丝程序猿 一个IT界富有灵魂的业余哲学家、思想家兼吹牛皮专家,乃当代程序猿中不可多得的一个旷世奇葩!个人出版作品《Python网络爬虫开发从入门到精通》
转载请注明原文地址: https://www.6miu.com/read-21791.html

最新回复(0)