From d570c6f51853a086e716ffefbec129ba148d9bc9 Mon Sep 17 00:00:00 2001 From: Athanasios Oikonomou Date: Fri, 1 May 2026 18:57:21 +0300 Subject: [PATCH] feat: knowledge extend search to file content Enhance knowledge search to match not only file titles but also the underlying file content. This improves search coverage and allows users to locate entries based on full content, not just metadata. Note: Future improvement could include diacritic-insensitive search (e.g. PostgreSQL unaccent) to better support languages such as Greek. --- backend/open_webui/models/knowledge.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/backend/open_webui/models/knowledge.py b/backend/open_webui/models/knowledge.py index 2750ef6058..b42836faee 100644 --- a/backend/open_webui/models/knowledge.py +++ b/backend/open_webui/models/knowledge.py @@ -467,7 +467,11 @@ class KnowledgeTable: if filter: query_key = filter.get('query') if query_key: - stmt = stmt.filter(or_(File.filename.ilike(f'%{query_key}%'))) + if db.bind.dialect.name == 'sqlite': + stmt_content = File.data['content'].ilike(f'%{query_key}%') + else: + stmt_content = File.data.op('->>')('content').ilike(f'%{query_key}%') + stmt = stmt.filter(or_(File.filename.ilike(f'%{query_key}%'), stmt_content)) view_option = filter.get('view_option') if view_option == 'created':