From e0e52e2e00eb8d3fe168a5deeb756ed54bd2dbb2 Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Tue, 19 Aug 2025 09:35:13 +0800 Subject: [PATCH] 'commit' --- .../ElasticSearch/T5_SelectByKeyWord.py | 45 ++++-------------- .../__pycache__/EsSearchUtil.cpython-310.pyc | Bin 7188 -> 6528 bytes 2 files changed, 10 insertions(+), 35 deletions(-) diff --git a/dsSchoolBuddy/ElasticSearch/T5_SelectByKeyWord.py b/dsSchoolBuddy/ElasticSearch/T5_SelectByKeyWord.py index 8cd286f2..af353c63 100644 --- a/dsSchoolBuddy/ElasticSearch/T5_SelectByKeyWord.py +++ b/dsSchoolBuddy/ElasticSearch/T5_SelectByKeyWord.py @@ -1,53 +1,28 @@ -from elasticsearch import Elasticsearch -import warnings from Config import Config -from Config.Config import ES_CONFIG -import urllib3 - -# 抑制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') +from ElasticSearch.Utils.EsSearchUtil import EsSearchUtil -# 1. 初始化Elasticsearch连接 -es = Elasticsearch( - hosts=Config.ES_CONFIG['hosts'], - basic_auth=Config.ES_CONFIG['basic_auth'], - verify_certs=False -) +# 1. 创建EsSearchUtil实例(已封装连接池) +search_util = EsSearchUtil(Config.ES_CONFIG) # 2. 直接在代码中指定要查询的关键字 query_keyword = "混凝土" -# 3. 构建查询条件 -query = { - "query": { - "match": { - "user_input": query_keyword - } - }, - "size": 1000 -} - -# 4. 执行查询并处理结果 +# 3. 执行查询并处理结果 try: - results = es.search(index=ES_CONFIG['index_name'], body=query) + # 使用连接池进行查询 + results = search_util.text_search(query_keyword, size=1000) print(f"查询关键字 '{query_keyword}' 结果:") if results['hits']['hits']: for i, hit in enumerate(results['hits']['hits'], 1): doc = hit['_source'] print(f"{i}. ID: {hit['_id']}") - print(f" 标签: {doc['tags']['tags']}") - print(f" 用户问题: {doc['user_input']}") - print(f" 时间: {doc['timestamp']}") - #print(f" 向量: {doc['embedding'][:5]}...") + print(f" 标签: {doc['tags']['tags'] if 'tags' in doc and 'tags' in doc['tags'] else '无'}") + print(f" 用户问题: {doc['user_input'] if 'user_input' in doc else '无'}") + print(f" 时间: {doc['timestamp'] if 'timestamp' in doc else '无'}") print("-" * 50) else: print(f"未找到包含 '{query_keyword}' 的数据。") except Exception as e: print(f"查询失败: {e}") - print(f"查询条件: {query}") - if hasattr(e, 'info') and isinstance(e.info, dict): - print(f"Elasticsearch错误详情: {e.info}") - if hasattr(e, 'status_code'): - print(f"HTTP状态码: {e.status_code}") \ No newline at end of file + print(f"查询关键字: {query_keyword}") \ No newline at end of file diff --git a/dsSchoolBuddy/ElasticSearch/Utils/__pycache__/EsSearchUtil.cpython-310.pyc b/dsSchoolBuddy/ElasticSearch/Utils/__pycache__/EsSearchUtil.cpython-310.pyc index 77093dc84b0aa0d81b946e1f67a5fd68643a84f3..8db14693b524dc2650cee536308fc27a7ab2c291 100644 GIT binary patch delta 84 zcmbPY(O|5T&&$ij00a$J7H7;*Wng#=;vfTNAjbiSi{~&*)S1PW!Whh;$-VgsW0g3Q YrugJksc(~4Nh>kROg<|u%Ou1E0JGQ;fdBvi delta 759 zcmb7B&1(}u6rb6oNvtNuH0@^d(X5TOM&d<5bd@4nu;5XobhRv{Gtz2maJNfoE(wIx zNLx@+DQII8ZSj^EREk*o7YKULORh3&deNH)5%EnTn5zTx+kL-}w{K^%r&iA-Qf_xQ zf;IZ-`Sj;w2z}v2=i=%G*v2M)n0TC_KC=I|pnpt{(>~gj!>ULQr~%qjmWZ1Mo}iLY z!5C5TR*(jWha6lH)DR65FW1N+8lfTLlMvrI3`|c6dVs(GA5Z)_VFXPK-VoHNDnquH zM#0%vvVk*$fDoxn0utgMYlXu^0wyS-@?jDp;fm0qM7ZN_b_@}G71R8pfmb_h~WHaB14?agGuM4y|)-S=sbn#TnArG0oPz=ee zx@;95eBW7S`MPy~mla;h4g2)WoMG}Ck*!kY>${@$bX}i78R*~yvQ5Z8vC?YDcGp;8 zQIS=LW=y4Y+9ntCtol}w8&1tgnfesf6Oe3=y;f!|HGT5Le=Ui-O%L?3-Yhk1kJx6t z`Fcx{g~$2>L}1{5bT>01c;34Kq1s=%+b#jl)e2NiN#pH+4TR&vF>%pl~=> z^aMn2!*zZ(Ma(1}#y}b)#Yri0+#{fjYeB#+!EW