This commit is contained in:
2025-08-19 09:35:13 +08:00
parent bfe7ac96a7
commit e0e52e2e00
2 changed files with 10 additions and 35 deletions

View File

@@ -1,53 +1,28 @@
from elasticsearch import Elasticsearch
import warnings
from Config import Config from Config import Config
from Config.Config import ES_CONFIG from ElasticSearch.Utils.EsSearchUtil import EsSearchUtil
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')
# 1. 初始化Elasticsearch连接 # 1. 创建EsSearchUtil实例已封装连接池
es = Elasticsearch( search_util = EsSearchUtil(Config.ES_CONFIG)
hosts=Config.ES_CONFIG['hosts'],
basic_auth=Config.ES_CONFIG['basic_auth'],
verify_certs=False
)
# 2. 直接在代码中指定要查询的关键字 # 2. 直接在代码中指定要查询的关键字
query_keyword = "混凝土" query_keyword = "混凝土"
# 3. 构建查询条件 # 3. 执行查询并处理结果
query = {
"query": {
"match": {
"user_input": query_keyword
}
},
"size": 1000
}
# 4. 执行查询并处理结果
try: try:
results = es.search(index=ES_CONFIG['index_name'], body=query) # 使用连接池进行查询
results = search_util.text_search(query_keyword, size=1000)
print(f"查询关键字 '{query_keyword}' 结果:") print(f"查询关键字 '{query_keyword}' 结果:")
if results['hits']['hits']: if results['hits']['hits']:
for i, hit in enumerate(results['hits']['hits'], 1): for i, hit in enumerate(results['hits']['hits'], 1):
doc = hit['_source'] doc = hit['_source']
print(f"{i}. ID: {hit['_id']}") print(f"{i}. ID: {hit['_id']}")
print(f" 标签: {doc['tags']['tags']}") print(f" 标签: {doc['tags']['tags'] if 'tags' in doc and 'tags' in doc['tags'] else ''}")
print(f" 用户问题: {doc['user_input']}") print(f" 用户问题: {doc['user_input'] if 'user_input' in doc else ''}")
print(f" 时间: {doc['timestamp']}") print(f" 时间: {doc['timestamp'] if 'timestamp' in doc else ''}")
#print(f" 向量: {doc['embedding'][:5]}...")
print("-" * 50) print("-" * 50)
else: else:
print(f"未找到包含 '{query_keyword}' 的数据。") print(f"未找到包含 '{query_keyword}' 的数据。")
except Exception as e: except Exception as e:
print(f"查询失败: {e}") print(f"查询失败: {e}")
print(f"查询条件: {query}") print(f"查询关键字: {query_keyword}")
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}")