From 51a0ab63c5cc1a248dc53327d3b7109a8a65587d Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Fri, 27 Jun 2025 15:01:15 +0800 Subject: [PATCH] 'commit' --- dsRag/ElasticSearch/T6_XiangLiangQuery.py | 29 ++---------------- dsRag/StartEs.py | 0 dsRag/Util/EsSearchUtil.py | 18 +++++++++-- .../__pycache__/EsSearchUtil.cpython-310.pyc | Bin 3824 -> 4147 bytes 4 files changed, 18 insertions(+), 29 deletions(-) delete mode 100644 dsRag/StartEs.py diff --git a/dsRag/ElasticSearch/T6_XiangLiangQuery.py b/dsRag/ElasticSearch/T6_XiangLiangQuery.py index ef1cef63..492b6ca9 100644 --- a/dsRag/ElasticSearch/T6_XiangLiangQuery.py +++ b/dsRag/ElasticSearch/T6_XiangLiangQuery.py @@ -1,31 +1,12 @@ import logging -import os -from logging.handlers import RotatingFileHandler from Config.Config import ES_CONFIG -from ElasticSearch.Utils.ElasticsearchConnectionPool import ElasticsearchConnectionPool # 初始化日志 logger = logging.getLogger(__name__) logger.setLevel(logging.INFO) -# 确保日志目录存在 -os.makedirs('Logs', exist_ok=True) -handler = RotatingFileHandler('Logs/start.log', maxBytes=1024 * 1024, backupCount=5) -handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')) -logger.addHandler(handler) -def init_es_pool(): - # 初始化Elasticsearch连接池 - es_pool = ElasticsearchConnectionPool( - hosts=ES_CONFIG["hosts"], - basic_auth=ES_CONFIG["basic_auth"], - verify_certs=ES_CONFIG["verify_certs"], - max_connections=50 - ) - logger.info("Elasticsearch连接池初始化完成") - return es_pool - # 导入EsSearchUtil from Util.EsSearchUtil import EsSearchUtil @@ -35,9 +16,6 @@ es_search_util = EsSearchUtil(ES_CONFIG) def main(): - # 初始化ES连接池 - es_pool = init_es_pool() - # 测试查询 query = "小学数学中有哪些模型" query_tags = ["MATH_1"] # 默认搜索标签,可修改 @@ -45,7 +23,7 @@ def main(): print(f"原始查询文本: {query}") # 执行混合搜索 - es_conn = es_pool.get_connection() + es_conn = es_search_util.es_pool.get_connection() try: # 向量搜索 print("\n=== 向量搜索阶段 ===") @@ -125,10 +103,7 @@ def main(): # print(f" 详细: {hit['_source']['tags']['full_content']}") finally: - es_pool.release_connection(es_conn) - - # 关闭连接池 - es_pool.close() + es_search_util.es_pool.release_connection(es_conn) if __name__ == "__main__": main() diff --git a/dsRag/StartEs.py b/dsRag/StartEs.py deleted file mode 100644 index e69de29b..00000000 diff --git a/dsRag/Util/EsSearchUtil.py b/dsRag/Util/EsSearchUtil.py index 21aa4b6e..9252106a 100644 --- a/dsRag/Util/EsSearchUtil.py +++ b/dsRag/Util/EsSearchUtil.py @@ -5,6 +5,8 @@ from logging.handlers import RotatingFileHandler import jieba from elasticsearch import Elasticsearch +from ElasticSearch.Utils.ElasticsearchConnectionPool import ElasticsearchConnectionPool + # 初始化日志 logger = logging.getLogger(__name__) logger.setLevel(logging.INFO) @@ -22,10 +24,22 @@ class EsSearchUtil: :param es_config: Elasticsearch配置字典,包含hosts, username, password, index_name等 """ self.es_config = es_config - self.es_conn = Elasticsearch( + + # 初始化连接池 + from Elasticsearch.Utils.ElasticsearchConnectionPool import ElasticsearchConnectionPool + self.es_pool = ElasticsearchConnectionPool( hosts=es_config['hosts'], basic_auth=es_config['basic_auth'], - verify_certs=False + verify_certs=es_config.get('verify_certs', False), + max_connections=50 + ) + + # 保留直接连接用于兼容 + from elasticsearch import Elasticsearch + self.es = Elasticsearch( + hosts=es_config['hosts'], + basic_auth=es_config['basic_auth'], + verify_certs=es_config.get('verify_certs', False) ) def __init__(self, es_config): diff --git a/dsRag/Util/__pycache__/EsSearchUtil.cpython-310.pyc b/dsRag/Util/__pycache__/EsSearchUtil.cpython-310.pyc index b32117713734e67046d521e9d0bddaa3ab66bb1b..12dcbf399af93519f1dee8c4ff36bb49ba02085d 100644 GIT binary patch delta 1593 zcma)6O>Y}T7~Yv(+w1l2I!Oy@Ljq1JkT#`G`7TumP2CTK5CT!!gx=6`E2{~irbF>=cYs{6+?uN)EO zU5{HbjoOm8M7s-t=bj2Ql764J(wXJ4VxBgwdGv=w0x+Lw5)>&q5Eg5D!e8!y#oQX75?Rwt!uZ3%%l96WHdzu$?^< zxFuEr|L))i7|N;DvRV55t|0Is3IM9mO=K#Sv)YnTyV)9~UFB|a5v^@E+gzmb#;>me zEwBVGfT$q20AUqo)oeeSt`sIjkIWOa4+C43xkTbx)Cm{zV(pH~SN|l9Vp;!>3W_4A zDzn2=RRWm}D5~=KlS?45o{DlASjv(-UK3Ra=sewZWQb=V@SuL}@(PomCE}|Umd%+L z<}fO!0g46Jq@)Ochfrew>Dr^OVauE)#Lw_EzEk8`u#L@dCc6qVC&Mp?e+0~g;nR3umX3YBm73Yv>vZxmjRoa9dnF#sBs4qhIO?V^)msnhzcQ_1G#}8a-+*zuapE6y?hc!jIxRm{3 zpL_o4QYtUE)6A3J&uZnb$xL=wo@~4cIe{tO#?;FQxG)gVhI2uTp3tjk|GC=A@Q?Br zq_K#!cQJXi!jF@$VAnFj2^p`uy(%I$veh2`RJl#wdl@xM@kmcx#Xw$YU6HVo58O<* zH@LX;cinsb;u4#>#HEhu5}*2H3=Z-H{R@#j?ILbPs(eR<3+fFicTSu*@CVHQfV2lroOo~C<#(by&wKN}?|bjfIHRfmjs=PD zy9RvTHt%&OE4#rYdAvJ4`zJT{irjfhmP)*|=W=7U{FD%blU0vd%w~lh3ZBV|%wZ+w z?wCtH_xA!oRTyOI+|pi^`?&huU>@@y8qEKfE{!qrhY<$5uaDJ2qWmkpmQ3TegbvFDK;U`al*(TdYWTa%9FftAvqvHlMnYCj=oH85u z3)v(3J!N3CJny}EA->{pb*C~uvMcx5YUbCJp$p{Yt-M(t#<5_g1& z3B}wWgj89Q_f|vz(S1XVWi@NAb_g8lfhpLO6yQroe_1C9@v_W5IdK>X{6)<+lRv}{ z5EDOUZ|ugL=BHeWafpSssNxpV3j`iy;%e-pso@GmPh{5$uj;rF5^)qCRMDBAm9>!w z1|iL*aR^avqZiAxo%Gk5v)MxNp9>mEl_`gPW%f96Sq-L9M{?R