Python ElasticSearch API
2017-08-22 10:31
211 查看
描述:ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。下面介绍了利用Python API接口进行数据查询,方便其他系统的调用。
安装API
建立es连接
数据检索功能
常用参数
index - 索引名
q - 查询指定匹配 使用Lucene查询语法
from_ - 查询起始点 默认0
doc_type - 文档类型
size - 指定查询条数 默认10
field - 指定字段 逗号分隔
sort - 排序 字段:asc/desc
body - 使用Query DSL
scroll - 滚动查询
统计查询功能
# 语法同search大致一样,但只输出统计值
知识扩展
滚动demo
以上demo实现了一次取若干数据,数据取完之后结束,不会获取到最新更新的数据。我们滚动完之后想获取最新数据怎么办?滚动的时候会有一个统计值,如total: 5。跳出循环之后,我们可以用_from参数定位到5开始滚动之后的数据。
Query DSL
range过滤器查询范围
gt: > 大于
lt: < 小于
gte: >= 大于或等于
lte: <= 小于或等于
bool组合过滤器
must:所有分句都必须匹配,与 AND 相同。
must_not:所有分句都必须不匹配,与 NOT 相同。
should:至少有一个分句匹配,与 OR 相同。
term过滤器
term单过滤
terms复数版本,允许多个匹配条件
正则查询
match查询
match 精确匹配
multi_match 多字段搜索
demo
获取最近一小时的数据
条件过滤查询
Terms Facet 单字段统计
一次统计多个字段
多个字段一起统计
数据组装
以下是kibana首页的demo,用来统计一段时间内的日志数量
如果想添加匹配条件,在以上代码标识部分加上过滤条件,按照以下代码格式即可
安装API
数据检索功能
index - 索引名
q - 查询指定匹配 使用Lucene查询语法
from_ - 查询起始点 默认0
doc_type - 文档类型
size - 指定查询条数 默认10
field - 指定字段 逗号分隔
sort - 排序 字段:asc/desc
body - 使用Query DSL
scroll - 滚动查询
统计查询功能
# 语法同search大致一样,但只输出统计值
知识扩展
滚动demo
Query DSL
range过滤器查询范围
gt: > 大于
lt: < 小于
gte: >= 大于或等于
lte: <= 小于或等于
bool组合过滤器
must:所有分句都必须匹配,与 AND 相同。
must_not:所有分句都必须不匹配,与 NOT 相同。
should:至少有一个分句匹配,与 OR 相同。
term单过滤
terms复数版本,允许多个匹配条件
match 精确匹配
获取最近一小时的数据
条件过滤查询
一次统计多个字段
多个字段一起统计
数据组装
以下是kibana首页的demo,用来统计一段时间内的日志数量
如果想添加匹配条件,在以上代码标识部分加上过滤条件,按照以下代码格式即可
相关文章推荐
- Python Elasticsearch api
- python Elasticsearch5.x使用
- python Elasticsearch5.x使用
- python Elasticsearch5.x使用
- Elasticserch 的 Python Json请求 访问
- 机器学习算法与Python实践(9) - 弹性网络(Elastic Net)
- 大数据学习[13]:elasticsearch之简单的python API
- ElasticSearch35:初识搜索引擎_search api的基础语法介绍
- Python Elasticsearch api
- ElasticSearch scan和scroll功能 python 实现
- Python Elasticsearch api
- Python Elasticsearch api
- A simple to "path" ElasticNet parameters ( in python)
- ElasticSearch scan和scroll功能 python 实现
- Python 正则表达式 Re模块的一些简单入门知识
- Python实现灵活的xml文件解析
- python函数property例解
- python字典,集合,函数
- virtualenv-python虚拟开发环境
- Python类与对象