From 65a8cd17721890418149573a8c872a9f592fbba1 Mon Sep 17 00:00:00 2001 From: Zhichang Yu Date: Fri, 28 Mar 2025 22:05:40 +0800 Subject: [PATCH] Fix knowledge_graph_kwd on infinity. Close #6476 and #6624 (#6651) ### What problem does this PR solve? Fix knowledge_graph_kwd on infinity. Close #6476 and #6624 ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) --- api/db/services/document_service.py | 4 ++-- conf/infinity_mapping.json | 4 ++-- rag/utils/infinity_conn.py | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/api/db/services/document_service.py b/api/db/services/document_service.py index 5295b38e3..292f8c5bf 100644 --- a/api/db/services/document_service.py +++ b/api/db/services/document_service.py @@ -103,13 +103,13 @@ class DocumentService(CommonService): cls.clear_chunk_num(doc.id) try: settings.docStoreConn.delete({"doc_id": doc.id}, search.index_name(tenant_id), doc.kb_id) - settings.docStoreConn.update({"kb_id": doc.kb_id, "knowledge_graph_kwd": ["entity", "relation", "graph", "community_report"], "source_id": doc.id}, + settings.docStoreConn.update({"kb_id": doc.kb_id, "knowledge_graph_kwd": ["entity", "relation", "graph", "subgraph", "community_report"], "source_id": doc.id}, {"remove": {"source_id": doc.id}}, search.index_name(tenant_id), doc.kb_id) settings.docStoreConn.update({"kb_id": doc.kb_id, "knowledge_graph_kwd": ["graph"]}, {"removed_kwd": "Y"}, search.index_name(tenant_id), doc.kb_id) - settings.docStoreConn.delete({"kb_id": doc.kb_id, "knowledge_graph_kwd": ["entity", "relation", "graph", "community_report"], "must_not": {"exists": "source_id"}}, + settings.docStoreConn.delete({"kb_id": doc.kb_id, "knowledge_graph_kwd": ["entity", "relation", "graph", "subgraph", "community_report"], "must_not": {"exists": "source_id"}}, search.index_name(tenant_id), doc.kb_id) except Exception: pass diff --git a/conf/infinity_mapping.json b/conf/infinity_mapping.json index 06c89cad5..1fc084c22 100644 --- a/conf/infinity_mapping.json +++ b/conf/infinity_mapping.json @@ -5,7 +5,7 @@ "create_time": {"type": "varchar", "default": ""}, "create_timestamp_flt": {"type": "float", "default": 0.0}, "img_id": {"type": "varchar", "default": ""}, - "docnm_kwd": {"type": "varchar", "default": "", "analyzer": "whitespace"}, + "docnm_kwd": {"type": "varchar", "default": ""}, "title_tks": {"type": "varchar", "default": "", "analyzer": "whitespace"}, "title_sm_tks": {"type": "varchar", "default": "", "analyzer": "whitespace"}, "name_kwd": {"type": "varchar", "default": "", "analyzer": "whitespace-#"}, @@ -27,7 +27,7 @@ "rank_int": {"type": "integer", "default": 0}, "rank_flt": {"type": "float", "default": 0}, "available_int": {"type": "integer", "default": 1}, - "knowledge_graph_kwd": {"type": "varchar", "default": "", "analyzer": "whitespace-#"}, + "knowledge_graph_kwd": {"type": "varchar", "default": ""}, "entities_kwd": {"type": "varchar", "default": "", "analyzer": "whitespace-#"}, "pagerank_fea": {"type": "integer", "default": 0}, "tag_feas": {"type": "varchar", "default": ""}, diff --git a/rag/utils/infinity_conn.py b/rag/utils/infinity_conn.py index 1edff02c9..c97621773 100644 --- a/rag/utils/infinity_conn.py +++ b/rag/utils/infinity_conn.py @@ -174,7 +174,7 @@ class InfinityConnection(DocStoreConnection): def field_keyword(self, field_name: str): # The "docnm_kwd" field is always a string, not list. - if field_name == "source_id" or (field_name.endswith("_kwd") and field_name != "docnm_kwd"): + if field_name == "source_id" or (field_name.endswith("_kwd") and field_name != "docnm_kwd" and field_name != "knowledge_graph_kwd"): return True return False