python连接es_Python操作es

操作几个方面

结果过滤,对于返回结果做过滤,主要是优化返回内容。

直接操作elasticsearch对象,处理一些简单的索引信息。一下几个方面都是建立在es对象的基础上。

Indices,关于索引的细节操作,比如创建自定义的mappings。

Cluster,关于集群的相关操作。

Nodes,关于节点的相关操作。

Cat API,换一种查询方式,一般的返回都是json类型的,cat提供了简洁的返回结果。

Snapshot,快照相关,快照是从正在运行的Elasticsearch集群中获取的备份。我们可以拍摄单个索引或整个群集的快照,并将其存储在共享文件系统的存储库中,并且有一些插件支持S3,HDFS,Azure,Google云存储等上的远程存储库。

Task Management API,任务管理API是新的,仍应被视为测试版功能。API可能以不向后兼容的方式更改。

结果过滤

filter_path参数用于过滤减少es返回信息,可以指定返回相关的内容,还支持一些通配符的操作*

1 body ={2 "query": {3 "match": {4 "name": "成都"

5 }6 }7 }8 #print(es.search(index="p1", body=body))

9 print(es.search(index="p1", body=body, filter_path=["hits.hits"]))10 print(es.search(index="p1", body=body, filter_path=["hits.hits._source"]))11 print(es.search(index="p1", body=body, filter_path=["hits.hits._source", "hits.total"]))12 print(es.search(index="p1", body=body, filter_path=["hits.*"]))13 print(es.search(index="p1", body=body, filter_path=["hits.hits._*"]))

Elasticsearch(es对象 )

es.index 向指定索引添加更新文档 如果索引不存在就会创建,然后执行添加更新等操作

1 #print(es.index(index="p2", doc_type="doc", id=1, body={"name": "棒槌", "age": "18"})) # 正常

2 #print(es.index(index="p2", doc_type="doc", id=2, body={"name": "棒棒哒", "age": 20})) # 正常

3 #print(es.index(index="p2", doc_type="doc", body={"name": "熊大", "age": "10"})) # 如果添加文档不带id自动会创建一个

es.get 查询索引中指定文档

1 #get(self, index, id, doc_type="_doc", params=None):

2 #print(es.get(index=‘p2‘, doc_type=‘doc‘, id=1)) # 正常

3 #print(es.get(index=‘p2‘, doc_type=‘doc‘)) # TypeError: get() missing 1 required positional argument: ‘id‘ 只能取单个文档对象

4 #print(es.get(index=‘p2‘, id=2)) # 要指定文档类型elasticsearch.exceptions.NotFoundError: NotFoundError(404, ‘{"_index":"p2","_type":"_doc","_id":"2","found":false}‘)

es.search 执行搜索查询并获取其匹配它可以跟复杂的查询条件

index要搜索的以逗号分隔的索引名称列表; 使用_all 或空字符串对所有索引执行操作。

doc_type 要搜索的以逗号分隔的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值