Elasticsearch py
1 建立连接
1.1 无用户密码
from elasticsearch import Elasticsearch
es = Elasticsearch([{'host':'10.10.13.12','port':9200}])1.2 有用户密码
from elasticsearch import Elasticsearch
es = Elasticsearch([{'host':'10.10.13.12','port':9200}], http_auth=('xiao', '123456'), timeout=3600)2 添加记录
doc = {}
doc["xx"] = "xx"
# 需要存储为 UTC 时间
doc["timestamp"] = datetime.utcnow()
es_res = es.index(index=index.lower(), id=es_id, document=doc){
u'_type': u'_doc', # 文档所在的类型名
u'_seq_no': 43,
u'_shards': { # _shards表示索引操作的复制过程的信息。
u'successful': 1, # 表示索引操作成功的分片副本数。
u'failed': 0, # 在副本分片上索引操作失败的情况下包含复制相关错误。
u'total': 2 # 指示应在其上执行索引操作的分片副本(主分片和副本分片)的数量。
},
u'_index': u'vm-unit_2024-03-18', # 文档所在的索引名
u'_version': 7, # 文档的版本
u'_primary_term': 3,
u'result': u'updated',
u'_id': u'c1db1115-3cc3-4602-a2a9-8c04aa94ed7f' # 本例子使用的 host uuid
}2.1 字段说明
2.1.1 _seq_no (顺序号)
2.1.2 _version (版本)
2.1.3 _primary_term (primary 编号)
2.1.4 _id
3 检索数据
3.1 字段说明
3.1.1 _source (原文)
3.1.2 其他字段
3.2 Query DSL
3.2.1 查询所有数据
3.2.2 等于查询,term与terms
3.2.4 包含查询,match与multi_match
3.2.4 ids
3.2.5 复合查询bool
3.2.6 切片式查询
3.2.7 范围查询
3.2.8 前缀查询
3.2.9 通配符查询
3.2.10 排序
3.2.11 filter_path, 响应过滤
3.2.12 count, 执行查询并获取该查询的匹配数
3.2.13 度量类聚合
3.2.14 from、size
3.2.15 指定查询的返回结果
3.3 注意事项
3.3.1 数值范围查询 range
3.3.2 should 和 terms 的区别
3.3.3 时间范围
表达式
含义
表达式
含义
4 强制刷新
Last updated