|
|
|
@ -2,9 +2,12 @@ from elasticsearch import Elasticsearch
|
|
|
|
|
import warnings
|
|
|
|
|
from Config import Config
|
|
|
|
|
from Config.Config import ES_CONFIG
|
|
|
|
|
import urllib3
|
|
|
|
|
|
|
|
|
|
# 禁用SSL警告
|
|
|
|
|
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
|
|
|
|
|
|
|
|
|
# 1. 初始化Elasticsearch连接
|
|
|
|
|
warnings.filterwarnings('ignore', category=DeprecationWarning)
|
|
|
|
|
es = Elasticsearch(
|
|
|
|
|
hosts=Config.ES_CONFIG['hosts'],
|
|
|
|
|
basic_auth=Config.ES_CONFIG['basic_auth'],
|
|
|
|
@ -12,7 +15,7 @@ es = Elasticsearch(
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
# 2. 直接在代码中指定要查询的标签
|
|
|
|
|
query_tag = "MATH_DATA_1" # 可以修改为其他需要的标签
|
|
|
|
|
query_tag = ["MATH_DATA_1", "小学数学"] # 可以修改为其他需要的标签
|
|
|
|
|
|
|
|
|
|
# 3. 构建查询条件
|
|
|
|
|
query = {
|
|
|
|
@ -20,8 +23,8 @@ query = {
|
|
|
|
|
"bool": {
|
|
|
|
|
"must": [
|
|
|
|
|
{
|
|
|
|
|
"term": {
|
|
|
|
|
"tags": query_tag
|
|
|
|
|
"terms": {
|
|
|
|
|
"tags.tags": query_tag
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
@ -30,6 +33,23 @@ query = {
|
|
|
|
|
"size": 1000
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# 4. 执行查询并处理结果
|
|
|
|
|
try:
|
|
|
|
|
response = es.search(index="knowledge_base", body=query)
|
|
|
|
|
hits = response['hits']['hits']
|
|
|
|
|
|
|
|
|
|
if not hits:
|
|
|
|
|
print(f"未找到标签为 '{query_tag}' 的数据。")
|
|
|
|
|
else:
|
|
|
|
|
print(f"找到 {len(hits)} 条标签为 '{query_tag}' 的数据:")
|
|
|
|
|
for i, hit in enumerate(hits, 1):
|
|
|
|
|
print(f"{i}. ID: {hit['_id']}")
|
|
|
|
|
print(f" 内容: {hit['_source'].get('user_input', '')}")
|
|
|
|
|
print(f" 标签: {hit['_source'].get('tags', '')}")
|
|
|
|
|
print("-" * 50)
|
|
|
|
|
except Exception as e:
|
|
|
|
|
print(f"查询出错: {str(e)}")
|
|
|
|
|
|
|
|
|
|
# 4. 执行查询
|
|
|
|
|
try:
|
|
|
|
|
results = es.search(index=ES_CONFIG['index_name'], body=query)
|
|
|
|
|