python操作Elasticsearch

来源:互联网 发布:为什么一淘比淘宝便宜 编辑:程序博客网 时间:2024/05/24 07:26
from elasticsearch import Elasticsearch
#连接Elasticsearches = 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'就是统计出来的数据条数


0 0