From d0c5ff04a67da1f18fb45fad2ad613d16f522767 Mon Sep 17 00:00:00 2001 From: Liu An Date: Thu, 12 Jun 2025 15:47:22 +0800 Subject: [PATCH] Fix: Add pagerank validation for non-elasticsearch doc engines (#8215) ### What problem does this PR solve? Validate that pagerank updates are only allowed when using elasticsearch as the document engine. Return an error if pagerank is set while using a different doc engine, preventing potential inconsistencies in document scoring. #8208 ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) --- api/apps/kb_app.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/api/apps/kb_app.py b/api/apps/kb_app.py index ce118b2c2..99933493e 100644 --- a/api/apps/kb_app.py +++ b/api/apps/kb_app.py @@ -124,6 +124,9 @@ def update(): return get_data_error_result() if kb.pagerank != req.get("pagerank", 0): + if os.environ.get("DOC_ENGINE", "elasticsearch") != "elasticsearch": + return get_data_error_result(message="'pagerank' can only be set when doc_engine is elasticsearch") + if req.get("pagerank", 0) > 0: settings.docStoreConn.update({"kb_id": kb.id}, {PAGERANK_FLD: req["pagerank"]}, search.index_name(kb.tenant_id), kb.id)