45 lines
1.4 KiB
Python
45 lines
1.4 KiB
Python
|
# _*_ coding : UTF-8 _*_
|
|||
|
# @Time : 2025/02/13 17:28
|
|||
|
# @UpdateTime : 2025/02/13 17:28
|
|||
|
# @Author : sonder
|
|||
|
# @File : get_ElasticSearch.py
|
|||
|
# @Software : PyCharm
|
|||
|
# @Comment : 本程序
|
|||
|
|
|||
|
from elasticsearch import AsyncElasticsearch
|
|||
|
from config.env import ElasticSearchConfig
|
|||
|
from utils.log import logger
|
|||
|
|
|||
|
|
|||
|
class ElasticSearch:
|
|||
|
"""
|
|||
|
ElasticSearch工具类
|
|||
|
"""
|
|||
|
|
|||
|
@classmethod
|
|||
|
async def init_elasticsearch(cls):
|
|||
|
"""
|
|||
|
初始化elasticsearch
|
|||
|
"""
|
|||
|
try:
|
|||
|
# 创建异步Elasticsearch客户端
|
|||
|
es = AsyncElasticsearch(
|
|||
|
hosts=[{
|
|||
|
"scheme": "http", # 传递scheme
|
|||
|
"host": ElasticSearchConfig.ES_HOST, # 传递主机名
|
|||
|
"port": ElasticSearchConfig.ES_PORT, # 传递端口
|
|||
|
}],
|
|||
|
http_auth=(ElasticSearchConfig.ES_USER, ElasticSearchConfig.ES_PASSWORD), # 传递http_auth
|
|||
|
)
|
|||
|
|
|||
|
# 检查连接是否成功
|
|||
|
if await es.ping():
|
|||
|
logger.success(f"ElasticSearch初始化成功: {ElasticSearchConfig.ES_HOST}:{ElasticSearchConfig.ES_PORT}")
|
|||
|
else:
|
|||
|
logger.warning("ElasticSearch初始化失败:无法ping通服务器")
|
|||
|
es = None
|
|||
|
return es
|
|||
|
except Exception as e:
|
|||
|
logger.error(f"ElasticSearch初始化失败: {e}")
|
|||
|
return None
|