diff --git a/api/db/services/api_service.py b/api/db/services/api_service.py index 020dd9212e..1c9dcff562 100644 --- a/api/db/services/api_service.py +++ b/api/db/services/api_service.py @@ -68,11 +68,15 @@ class API4ConversationService(CommonService): if keywords: keywords = keywords.lower() escaped_keywords = json_dumps(keywords)[1:-1] + session_id = peewee.fn.LOWER(cls.model.id) + conversation_name = peewee.fn.LOWER(cls.model.name) message = peewee.fn.LOWER(cls.model.message) + keyword_condition = session_id.contains(keywords) | conversation_name.contains(keywords) if escaped_keywords == keywords: - sessions = sessions.where(message.contains(keywords)) + keyword_condition |= message.contains(keywords) else: - sessions = sessions.where(message.contains(keywords) | message.contains(escaped_keywords)) + keyword_condition |= message.contains(keywords) | message.contains(escaped_keywords) + sessions = sessions.where(keyword_condition) date_field = cls.model.update_date if orderby.startswith("update_") else cls.model.create_date if from_date: sessions = sessions.where(date_field >= cls._normalize_query_date(from_date))