|  | @@ -173,21 +173,18 @@ class ChatConversationApi(Resource):
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          if args["keyword"]:
 | 
	
		
			
				|  |  |              keyword_filter = "%{}%".format(args["keyword"])
 | 
	
		
			
				|  |  | -            query = (
 | 
	
		
			
				|  |  | -                query.join(
 | 
	
		
			
				|  |  | -                    Message,
 | 
	
		
			
				|  |  | -                    Message.conversation_id == Conversation.id,
 | 
	
		
			
				|  |  | -                )
 | 
	
		
			
				|  |  | -                .join(subquery, subquery.c.conversation_id == Conversation.id)
 | 
	
		
			
				|  |  | -                .filter(
 | 
	
		
			
				|  |  | -                    or_(
 | 
	
		
			
				|  |  | -                        Message.query.ilike(keyword_filter),
 | 
	
		
			
				|  |  | -                        Message.answer.ilike(keyword_filter),
 | 
	
		
			
				|  |  | -                        Conversation.name.ilike(keyword_filter),
 | 
	
		
			
				|  |  | -                        Conversation.introduction.ilike(keyword_filter),
 | 
	
		
			
				|  |  | -                        subquery.c.from_end_user_session_id.ilike(keyword_filter),
 | 
	
		
			
				|  |  | -                    ),
 | 
	
		
			
				|  |  | -                )
 | 
	
		
			
				|  |  | +            message_subquery = (
 | 
	
		
			
				|  |  | +                db.session.query(Message.conversation_id)
 | 
	
		
			
				|  |  | +                .filter(or_(Message.query.ilike(keyword_filter), Message.answer.ilike(keyword_filter)))
 | 
	
		
			
				|  |  | +                .subquery()
 | 
	
		
			
				|  |  | +            )
 | 
	
		
			
				|  |  | +            query = query.join(subquery, subquery.c.conversation_id == Conversation.id).filter(
 | 
	
		
			
				|  |  | +                or_(
 | 
	
		
			
				|  |  | +                    Conversation.id.in_(message_subquery),
 | 
	
		
			
				|  |  | +                    Conversation.name.ilike(keyword_filter),
 | 
	
		
			
				|  |  | +                    Conversation.introduction.ilike(keyword_filter),
 | 
	
		
			
				|  |  | +                    subquery.c.from_end_user_session_id.ilike(keyword_filter),
 | 
	
		
			
				|  |  | +                ),
 | 
	
		
			
				|  |  |              )
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          account = current_user
 |