From cc9a44569ef08b64ff44d15607c43966f362ce75 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Thu, 23 Jul 2026 04:01:30 -0400 Subject: [PATCH] refac --- backend/open_webui/models/chats.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/backend/open_webui/models/chats.py b/backend/open_webui/models/chats.py index 4f2213b84d..08aed47b22 100644 --- a/backend/open_webui/models/chats.py +++ b/backend/open_webui/models/chats.py @@ -1662,9 +1662,23 @@ class ChatTable: postgres_content_sql = """ EXISTS ( SELECT 1 - FROM json_array_elements(Chat.chat->'messages') AS message - WHERE json_typeof(message->'content') = 'string' - AND LOWER(message->>'content') LIKE '%' || :content_key || '%' + FROM chat_message AS message + WHERE message.chat_id = Chat.id + AND message.user_id = Chat.user_id + AND json_typeof(message.content) = 'string' + AND LOWER(message.content #>> '{}') LIKE '%' || :content_key || '%' + ) + OR EXISTS ( + SELECT 1 + FROM json_each(Chat.chat#>'{history,messages}') AS history_message + WHERE json_typeof(history_message.value->'content') = 'string' + AND LOWER(history_message.value->>'content') LIKE '%' || :content_key || '%' + ) + OR EXISTS ( + SELECT 1 + FROM json_array_elements(Chat.chat->'messages') AS legacy_message + WHERE json_typeof(legacy_message->'content') = 'string' + AND LOWER(legacy_message->>'content') LIKE '%' || :content_key || '%' ) """