Here's a function to retrieve all conversations which subject, body or recipient/sender's username includes a given string. You can tweak it little bit to fit your scenario or open an issue on their github repo.
def conversations_for(query)
wildcarded_query = "%#{query}%"
user_ids = User.where('CONCAT(first_name, " ", last_name) LIKE :query', query: wildcarded_query).pluck(:id)
current_user.mailbox.conversations.
joins(:messages).
references('mailboxer_conversations, mailboxer_notifications, mailboxer_receipts, messages_mailboxer_conversations, mr, mn'). # To get rid of warnings
select('mailboxer_conversations.*, mailbox_type, trashed').
where("mailboxer_notifications.subject LIKE :query
OR mailboxer_notifications.body LIKE :query
OR mailboxer_notifications.sender_id IN (:user_ids)
OR EXISTS ( SELECT * FROM mailboxer_receipts mr
INNER JOIN mailboxer_notifications mn ON mn.id = mr.notification_id
WHERE mn.conversation_id = mailboxer_conversations.id
AND mr.notification_id IN ( SELECT id FROM mailboxer_notifications
WHERE sender_id = :current_user_id )
AND mr.receiver_id IN (:user_ids))",
query: wildcarded_query, user_ids: user_ids, current_user_id: current_user.id)
end