python elasticsearch
文档:http://elasticsearch-py.readthedocs.io/en/master/
Elasticsearch官方API文档:
https://www.elastic.co/guide/en/elasticsearch/reference/current/search.html
两种方式现实Elasticsearch API操作
方式一:安装elasticsearch模块,通过它操作Elasticsearch,代码示例如下
from elasticsearch import Elasticsearch
class ElasticSearchClass(object):
def __init__(self, host, port, user, passwrod):
self.host = host
self.port = port
self.user = user
self.password = passwrod
self.connect()
def connect(self):
self.es = Elasticsearch(hosts=[{'host': self.host, 'port': self.port}],
http_auth=(self.user, self.password ))
def count(self, indexname):
"""
:param indexname:
:return: 统计index总数
"""
return self.es.count(index=indexname)
def delete(self, indexname, doc_type, id):
"""
:param indexname:
:param doc_type:
:param id:
:return: 删除index中具体的一条
"""
self.es.delete(index=indexname, doc_type=doc_type, id=id)
def get(self, indexname, id):
return self.es.get(index=indexname, id=id)
def search(self, indexname, size=10):
try:
return self.es.search(index=indexname, size=size, sort="@timestamp:desc")
except Exception as err:
print(err)
方式二:安装requests模块,通过GET、POST方式操作Elasticsearch
class RequestsElasticSearchClass(object):
def __init__(self, host, port, user, passwrod):
self.url = 'http://' + host + ':' + str(port)
basicpwd = base64.b64encode((user + ':' + passwrod).encode('UTF-8'))
self.headers = {"User-Agent": "shhnwangjian",
"Content-Type": "application/json",
"Authorization": "Basic {}".format(basicpwd.decode('utf-8'))}
def search(self, indexname, size=10):
gettdata = {"sort": "@timestamp:desc",
"size": size}
url = self.url + '/' + indexname + '/_search'
ret = requests.get(url, headers=self.headers, timeout=10, params=gettdata)
print(ret.text)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)