Browse Source

代码提交

SGTY 3 ngày trước cách đây
mục cha
commit
acc3fa7c45
2 tập tin đã thay đổi với 12 bổ sung12 xóa
  1. 7 7
      src/knowledge/main.py
  2. 5 5
      src/knowledge/service/search_service.py

+ 7 - 7
src/knowledge/main.py

@@ -274,18 +274,18 @@ class SimilarConceptsRequest(BaseModel):
           response_model=StandardResponse
           )
 async def search_concept(
-        query: str = Query(...,
+        concept_name: str = Query(...,
                   description="概念名称,应为标准医学术语。该参数用于搜索匹配的概念节点。",
                   examples="糖尿病",
                   min_length=1),
-        type: str = Query(None,
+        concept_type: str = Query(None,
                   description="概念类型,可选参数。用于限定搜索的概念类型。",
                   examples="疾病")
 ):
     try:
         # 实现搜索医学概念的逻辑
         search = SearchBusiness()
-        results = search.search_concept(name=query, type=type)
+        results = search.search_concept(name=concept_name, type=concept_type)
         return StandardResponse(success=True, data=results)
     except Exception as e:
         logger.error(f"搜索医学概念失败: {str(e)}")
@@ -318,7 +318,7 @@ async def search_concept(
           response_model=StandardResponse
           )
 async def get_relations(
-        concept_id: str = Query(...,
+        concept_name: str = Query(...,
                   description="概念ID,应为标准医学术语ID。该参数用于查询该概念的相关关系。",
                   examples="D001",
                   min_length=1)
@@ -326,7 +326,7 @@ async def get_relations(
     try:
         # 实现获取概念关系的逻辑
         search = SearchBusiness()
-        results = search.get_relations(src_id=concept_id)
+        results = search.get_relations(src_id=concept_name)
         return StandardResponse(success=True, data=results)
     except Exception as e:
         logger.error(f"获取概念关系失败: {str(e)}")
@@ -358,7 +358,7 @@ async def get_relations(
     }""",
           )
 async def get_similar_concepts(
-        concept_id: str = Query(...,
+        concept_name: str = Query(...,
                   description="概念ID,应为标准医学术语ID。该参数用于查询该概念的相似概念。",
                   examples="D001",
                   min_length=1),
@@ -369,7 +369,7 @@ async def get_similar_concepts(
     try:
         # 1. 先根据ID获取节点名称
         search = SearchBusiness()
-        results = search.get_similar_concepts(id=concept_id, top_k=top_k)
+        results = search.get_similar_concepts(id=concept_name, top_k=top_k)
 
         return StandardResponse(success=True, data=results)
     except Exception as e:

+ 5 - 5
src/knowledge/service/search_service.py

@@ -12,7 +12,7 @@ ELASTICSEARCH_PWD = config.get_config("ELASTICSEARCH_PWD", "/tmp")
 ELASTICSEARCH_HOST = config.get_config("ELASTICSEARCH_HOST", "/tmp")
 
 class SearchBusiness:
-    MIN_SCORE = 5
+    MIN_SCORE = 10
 
     def __init__(self):
         self.es = Elasticsearch(hosts=[ELASTICSEARCH_HOST], verify_certs=False, http_auth=(ELASTICSEARCH_USER, ELASTICSEARCH_PWD))
@@ -44,12 +44,12 @@ class SearchBusiness:
                         ]
                     }
                 },
-                "sort": [{"_score": {"order": "desc"}}],
-                "min_score": self.MIN_SCORE
+                "sort": [{"_score": {"order": "desc"}}]
             }
 
             if name:
                 query["query"]["bool"]["must"].append({"match": {"public_kg_nodes_name": name}})
+                query["min_score"] = self.MIN_SCORE
             if id:
                 query["query"]["bool"]["must"].append({"term": {"public_kg_nodes_id": id}})
             if ids:
@@ -83,11 +83,11 @@ class SearchBusiness:
                         ]
                     }
                 },
-                "sort": [{"_score": {"order": "desc"}}],
-                "min_score": self.MIN_SCORE
+                "sort": [{"_score": {"order": "desc"}}]
             }
             if name:
                 query["query"]["bool"]["must"].append({"match": {"public_kg_edges_category": name}})
+                query["min_score"] = self.MIN_SCORE
             if src_id:
                 query["query"]["bool"]["must"].append({"term": {"public_kg_edges_src_id": src_id}})
             if size: