ELK学习(七) python操作 es基本操作

1.下载安装elasticsearch模块

pip install elasticsearch

2.python连接elasticsearch

from elasticsearch import Elasticsearch
es = Elasticsearch(["192.168.229.140:9200"])#连接自己的localhost

3.创建一篇文档\查询文档\删除文档

#创建一篇文档
es.index(index='p2',id=2,body={"name":"zhang"})
#查询文档
print(es.get(index='p2',doc_type="doc",id=1))
#删除文档
es.delete(index='p2',id=2)

4.match查询

格式和在kilbana中格式类似

body1 = {
    "query":{
        "match":{
            "name":'LISI'
        }
    }
}
print(es.search(index='s1',body=body1))

5.match查询加上filter过滤

因为查询出的数据有太多的字段包裹不方便查看因此可以使用filter_path进行一个过滤方便查看
在这里插入图片描述

print(es.search(index='s1',body=body1,filter_path=['hits.hits']))

可以使用filter_path查询索引下的文档的个数

print(es.search(index='s1',body=body1,filter_path=['hits.hits','hits.total']))

过滤后
在这里插入图片描述

6.count函数的应用

查询某一数据出现的次数

body = {
    "query":{
        "match":{
            "name":"lou2"
        }
    }
}
print(es.count(index='s1',body=body))

在这里插入图片描述

7.按照条件删除

删除name为lou2的文档

print(es.delete_by_query(index="s1",body=body))

在这里插入图片描述

8.es.exists 查询此文档是否存在

print(es.exists(index='s1',id=1))

返回True是存在 返回false是不存在

9.es创建索引并设置mappings

body2 = {
    "mappings":{
        "properties":{
            "name":{
                "type":"text"
            },
            "age":{
                "type":"long"
            }
        }
    }
}
print(es.indices.create(index='s15',body=body2))

查看mappings

print(es.indices.get_mapping(index='s15'))

在这里插入图片描述

10.es.indices.analyse返回分词结果

print(es.indices.analyze(body={"analyzer":"ik_smart","text":"哈士奇是只狗"}))

在这里插入图片描述

11.别名的创建

Es中创建别名可以简单的认为是mysql中的视图,别名仅仅支持查询操作

#别名的创建
# print(es.indices.put_alias(index='s1',name='s1-1'))
 #删除别名
# print(es.indices.delete_alias(index='s1',name='s1-1'))
#别名的查询
# print(es.indices.get_alias(index='s1'))
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值