python 调用elasticsearch的几种不同方式
2018-03-09 17:29
411 查看
from elasticsearch import Elasticsearch from elasticsearch_dsl import Search,Q,scan es = Elasticsearch() 1、仿照kibana中的写法 q = {"query": {"match": {"name": "easy"}}} res = es.Search(body=q) #这中方式返回的结果和kibana查询结果一致,为json 2、通过elasticsearch_dsl的Search方法 s = Search().using(es).query('match',name='easy') res = s.execute() # MultiMatch(query='python django', fields=['title', 'body']) # Match(title={"query": "web framework", "type": "phrase"}) 3、通过Q方式写查询语句(避免了字典的多重嵌套) q = Q("match",name='easy') s = Search().using(es).query(q) res = s.execute(ignore_cache=True) #ignore_cache=True 清除缓存数据,不然即使改变了查询语句执行出的为之前的结果 可通过s.to_dict()验证语句 可通过s.query = Q("match",name='haha') 重建查询语句 #通过dsl的查询得到的结果有自己的调用方法 res.hits[0].id 4、通过scan的方式 q = {"query": {"match": {"name": "easy"}}} res = scan(es,size=100,preserve_order=True,query=q) #本机上实验size参数无作用,总是返回所有结果,preserve_order=True设置为flase或不设置会报错,希望解答 doc = [i for i in res] #即可得到所有返回结果
相关文章推荐
- Python调用shell的几种方式
- Java中调用python的几种方式
- python调用cmd命令的几种方式和区别
- Python调用shell的几种方式
- Python调用REST API接口的几种方式 推荐
- 蒙特卡洛估值几种不同的计算方式(Python)
- python和C语言互相调用的几种方式
- python---------九九乘法表和直角三角形几种不同表达方式
- 安卓多线程编程系列4:使用message的几种不同方式(不同的构造方法和使用方式)
- 深入解读Python解析XML的几种方式
- ASP调用带参数存储过程的几种方式
- python 几种点积运算方式效率分析
- C/C++函数调用的几种方式总结
- 利用python调用elasticsearch-api来分析数据并作图进行日报邮件发送
- 远程调用的几种方式
- vuejs几种不同组件(页面)间传值的方式
- java调用百度地图的不同显示方式
- python下几种打开文件的方式
- masm下几种常见函数调用方式
- python之配置日志的几种方式