From 1044d5cf484a0226059d9fb2c27d7199670d0633 Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Tue, 19 Aug 2025 09:33:09 +0800 Subject: [PATCH] 'commit' --- .../ElasticSearch/T4_SelectAllData.py | 29 +++------------- .../ElasticSearch/Utils/EsSearchUtil.py | 31 ++++++++++++++++++ .../__pycache__/EsSearchUtil.cpython-310.pyc | Bin 6598 -> 7188 bytes 3 files changed, 36 insertions(+), 24 deletions(-) diff --git a/dsSchoolBuddy/ElasticSearch/T4_SelectAllData.py b/dsSchoolBuddy/ElasticSearch/T4_SelectAllData.py index a178993e..25e9c900 100644 --- a/dsSchoolBuddy/ElasticSearch/T4_SelectAllData.py +++ b/dsSchoolBuddy/ElasticSearch/T4_SelectAllData.py @@ -1,35 +1,16 @@ import warnings -from elasticsearch import Elasticsearch - from Config import Config +from ElasticSearch.Utils.EsSearchUtil import EsSearchUtil -# 抑制HTTPS相关警告 -warnings.filterwarnings('ignore', message='Connecting to .* using TLS with verify_certs=False is insecure') -warnings.filterwarnings('ignore', message='Unverified HTTPS request is being made to host') - - -# 初始化Elasticsearch连接 -es = Elasticsearch( - hosts=Config.ES_CONFIG['hosts'], - basic_auth=Config.ES_CONFIG['basic_auth'], - verify_certs=False -) +# 创建EsSearchUtil实例 +search_util = EsSearchUtil(Config.ES_CONFIG) # 查询所有数据 def select_all_data(index_name): try: - # 构建查询条件 - 匹配所有文档 - # 修改查询条件为获取前10条数据 - query = { - "query": { - "match_all": {} - }, - "size": 1000 # 仅获取10条数据 - } - - # 执行查询 - response = es.search(index=index_name, body=query) + # 调用EsSearchUtil中的select_all_data方法 + response = search_util.select_all_data() hits = response['hits']['hits'] if not hits: diff --git a/dsSchoolBuddy/ElasticSearch/Utils/EsSearchUtil.py b/dsSchoolBuddy/ElasticSearch/Utils/EsSearchUtil.py index dcb15e6b..8c684d26 100644 --- a/dsSchoolBuddy/ElasticSearch/Utils/EsSearchUtil.py +++ b/dsSchoolBuddy/ElasticSearch/Utils/EsSearchUtil.py @@ -108,6 +108,37 @@ class EsSearchUtil: # 释放连接回连接池 self.es_pool.release_connection(conn) + def select_all_data(self, size=1000): + """ + 查询索引中的所有数据 + + 参数: + size: 返回的最大结果数量,默认1000 + + 返回: + dict: 查询结果 + """ + # 从连接池获取连接 + conn = self.es_pool.get_connection() + try: + # 构建查询条件 - 匹配所有文档 + query = { + "query": { + "match_all": {} + }, + "size": size + } + + # 执行查询 + response = conn.search(index=self.es_config['index_name'], body=query) + return response + except Exception as e: + logger.error(f"查询所有数据失败: {str(e)}") + raise + finally: + # 释放连接回连接池 + self.es_pool.release_connection(conn) + def split_text_into_chunks(self,text: str, chunk_size: int = 200, chunk_overlap: int = 0) -> list: """ 将文本切割成块 diff --git a/dsSchoolBuddy/ElasticSearch/Utils/__pycache__/EsSearchUtil.cpython-310.pyc b/dsSchoolBuddy/ElasticSearch/Utils/__pycache__/EsSearchUtil.cpython-310.pyc index 5adce2891fe5d3fe41976b3fe07bf42db4f53ebf..77093dc84b0aa0d81b946e1f67a5fd68643a84f3 100644 GIT binary patch delta 966 zcmZ9JUr19?9LLYO|8~7|SF<@c6BGao$NfukHv0*eVMXUovS;UPoF)qq^fM+|4i!!qif;PYbgCA&s zAjU%wF&n~+3Gs#)B@q>In?EfdJAGl0?>!iQr+*#=d^O?oDjg`67`s9~a z&o=Ijq(_I+Q={q0=jpM9Tv*OXjSmx-J9nmK^k77FJ2S5*Qun86fvKTXqV(~`8ct77 zk>Jf+<6G;uH`nfF77~Z*>gsU9R24@-#c(@!x@RMECB1pq{Du)dqLq@Ors}=np17`R$EoPZffh{` z=xRt+4BFd={DwbFM7@GQGINmQm|qMl{IH4wlm+>_6*5p9Vt&eer2MqrrusD{&~5}n z2mdRw`HnV$6#EF0k`h>UT%>}F!bg$)*X&&#BS){g#*y^(2h^@BjES1htG!i7)V2_dHLP6coJoL<64TnQo7{9meEtH8M z0uhQf>9AB(z6XD^jlj!zu;hu*Nef)THTE~K7jM}s4rJ%cK4=Mb(Jo07d62%4p=(E| S)K1Ys5yEaqCmg_Yj>_LlIS_~d delta 395 zcmbPYam<)6pO=@50SJUHEzWRP-N={C#27WXib=*%_)_>=Sfe;o#8U);azd#bKyj`#wiMwM5uiACia;=fro`sQOw}BWnv>(X zH*I$3JIToA0ko*dbF!E~KBLd%HUVwM*2$X$%3;F#g5Hezo2v!4vj~NO6lwzrP39sM z5IbVBi&!mV@Z>{cTXjM}0-7Kq8bsKD2mugb3nZerOHwOJ;*&E<^RkPJ!X_^k4`*zj z{9Amz08^1WND(8D&}8(}LSNAhBxDUFZZT)(mE2;<$t*4@3I_36lJfI&in1q* zNh