rusmes-search 0.1.1

Full-text search for RusMES — Tantivy-backed search index with trait-based abstraction for indexing, querying, and deleting mail messages
Documentation

rusmes-search

Full-text search integration for RusMES. Will provide Tantivy-based indexing and query support for message search across IMAP SEARCH and JMAP Email/query.

Status

Implemented. SearchIndex trait and TantivySearchIndex backend are fully functional with index, delete, search, and commit operations.

Architecture

SearchIndex
  |-- index_message()     - index a new message
  |-- delete_message()    - remove from index
  |-- search()            - execute a search query
  '-- rebuild()           - full reindex from storage

Backed by Tantivy (Rust-native full-text search engine)

Index Fields

Field Type Source
message_id Stored Message UUID
mailbox_id Indexed Mailbox UUID
from Text From header
to Text To/Cc headers
subject Text Subject header
body Text Plain text body (extracted from MIME)
date Date Date header
has_attachment Boolean MIME structure analysis

Dependencies

  • rusmes-proto - mail types
  • tantivy (planned) - full-text search engine
  • tokio - async runtime