From 8b584695a383c8d0e6e670b5c68244a5c27ee092 Mon Sep 17 00:00:00 2001 From: charles Date: Thu, 12 Feb 2026 17:36:52 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8(backend)=20handle=20indexer=20crash?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I fall back on title_search when the indexer is not configured, but I did not handle indexer crashs. I am adding the try except to handle indexer crashes. Signed-off-by: charles --- src/backend/core/api/viewsets.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/backend/core/api/viewsets.py b/src/backend/core/api/viewsets.py index 0358260ff..e5fc62d02 100644 --- a/src/backend/core/api/viewsets.py +++ b/src/backend/core/api/viewsets.py @@ -1416,12 +1416,19 @@ class DocumentViewSet( params.is_valid(raise_exception=True) indexer = get_document_indexer() - if indexer: + if indexer is None: + # fallback on title search if the indexer is not configured + return self._title_search(request, params.validated_data, *args, **kwargs) + + try: return self._search_with_indexer(indexer, request, params=params) except requests.exceptions.RequestException as e: logger.error("Error while searching documents with indexer: %s", e) # fallback on title search if the indexer is not reached - return self._title_search(request, params.validated_data, *args, **kwargs) + return self._title_search( + request, params.validated_data, *args, **kwargs + ) + @staticmethod def _search_with_indexer(indexer, request, params): @@ -1450,7 +1457,7 @@ class DocumentViewSet( } ) - def title_search(self, request, validated_data, *args, **kwargs): + def _title_search(self, request, validated_data, *args, **kwargs): """ Fallback search method when no indexer is configured. Only searches in the title field of documents.