Skip to main content

Search

Better Messages includes a full-text search across every message in every conversation the user is a participant in. The search bar lives in the messenger UI — one query, results from DMs and group chats, click to jump straight to the message in context.

What it adds#

  • Search bar in the messenger interface for finding specific messages
  • Full-text matching across all of the user's threads (DMs, group chats, chat rooms)
  • Results show the matching message line + its conversation context
  • One-click navigation jumps to the matched message in its thread
  • Works on the web app and mobile app

How it works#

The search executes a MySQL LIKE-based scan across the user's messages, scoped to threads they're a participant in. Results are sorted by recency by default — newest matching messages first.

QueryMatches
invoiceAny message containing "invoice" (case-insensitive)
shipping feeMessages containing both words (any order)
Special charactersPunctuation is ignored; alphanumeric + whitespace tokens are matched

For very large message archives (10K+ messages per user), the LIKE search may slow down. Future versions will add MeiliSearch or Elasticsearch as an optional backend for high-volume sites — for now, the default works well for typical communities.

When users search most#

AudienceCommon search patterns
Marketplace vendor"tracking number", "refund", customer name
LMS instructorAssignment name, student name, due date keyword
Community managerRecurring topic keywords, link prefixes
Support repError message snippet, customer email
Personal DMsAddress, phone number, restaurant name shared earlier

How to enable#

Navigate to WP Admin → Better Messages → Settings → Messaging.

  • Disable Search — Toggle to turn the search feature off

Search is enabled by default. The setting hides the search input from the messenger UI when disabled, but the underlying data is unaffected.

Frequently asked questions#

Does search find content inside attachments?#

No — the search only matches message text, not file attachments. PDF text, image OCR, and audio transcripts are not searched. For voice messages, see AI voice transcription which can transcribe voice messages to text (WebSocket version) — once transcribed, the text becomes searchable.

Are deleted messages searchable?#

No. Once a message is deleted (by the sender or by auto-delete), it's removed from the search index. Edits update the indexed text on save.

Can administrators search across all users' messages?#

Not from the user-facing search. Admins can run direct SQL queries on the bm_messages table from phpMyAdmin or WP-CLI for compliance / audit purposes. There's no built-in admin search UI.

Does search work in chat rooms with hundreds of participants?#

Yes — search is scoped to threads the user participates in, and one chat room is one thread regardless of participant count. Performance is dictated by total message volume in that user's threads, not by participant count.

Why don't my search results include really old messages?#

By default the search covers all messages. If you've enabled auto-delete, old messages may have been purged. The search reflects the current database state.

See also#