diff --git a/api/apps/kb_app.py b/api/apps/kb_app.py index 9aadfa4d3..86584df3f 100644 --- a/api/apps/kb_app.py +++ b/api/apps/kb_app.py @@ -14,7 +14,6 @@ # limitations under the License. # import json -import logging import os from flask import request @@ -300,11 +299,12 @@ def knowledge_graph(kb_id): "kb_id": [kb_id], "knowledge_graph_kwd": ["graph"] } + obj = {"graph": {}, "mind_map": {}} - try: - sres = settings.retrievaler.search(req, search.index_name(kb.tenant_id), [kb_id]) - except Exception as e: - logging.exception(e) + if not settings.docStoreConn.indexExist(search.index_name(kb.tenant_id)): + return get_json_result(data=obj) + sres = settings.retrievaler.search(req, search.index_name(kb.tenant_id), [kb_id]) + if not len(sres.ids): return get_json_result(data=obj) for id in sres.ids[:1]: diff --git a/rag/utils/es_conn.py b/rag/utils/es_conn.py index d8c6927cf..89687e1bd 100644 --- a/rag/utils/es_conn.py +++ b/rag/utils/es_conn.py @@ -113,7 +113,7 @@ class ESConnection(DocStoreConnection): except Exception: logger.exception("ESConnection.deleteIdx error %s" % (indexName)) - def indexExist(self, indexName: str, knowledgebaseId: str) -> bool: + def indexExist(self, indexName: str, knowledgebaseId: str = None) -> bool: s = Index(indexName, self.es) for i in range(ATTEMPT_TIME): try: