tantivy

Full-text search engine library for Rust, inspired by Apache Lucene. Provides inverted index construction, BM25 ranking, faceted search, phrase queries, and tokenization. Used as the core of Quickwit (cloud-native search engine). Embeds directly in Rust applications for local full-text search without external search infrastructure.

Evaluated Mar 07, 2026 (0d ago) v0.22+
Homepage ↗ Repo ↗ Developer Tools rust search full-text-search lucene index quickwit whoosh elasticsearch-alternative
⚙ Agent Friendliness
66
/ 100
Can an agent use this?
🔒 Security
91
/ 100
Is it safe for agents?
⚡ Reliability
80
/ 100
Does it work consistently?

Score Breakdown

⚙ Agent Friendliness

MCP Quality
--
Documentation
80
Error Messages
78
Auth Simplicity
100
Rate Limits
100

🔒 Security

TLS Enforcement
100
Auth Strength
90
Scope Granularity
88
Dep. Hygiene
88
Secret Handling
88

Embedded search library — security is application's responsibility. Index files stored locally; protect with filesystem permissions. No network exposure.

⚡ Reliability

Uptime/SLA
85
Version Stability
80
Breaking Changes
72
Error Recovery
82
AF Security Reliability

Best When

Embedding full-text search directly in a Rust application without external search service infrastructure.

Avoid When

You need distributed search, a REST API, or multi-language support — use Meilisearch or Quickwit.

Use Cases

  • Build in-application full-text search for Rust desktop or server apps without Elasticsearch infrastructure
  • Create searchable document stores in Rust with BM25 ranking and faceted filtering
  • Implement log search and analysis tools in Rust with tantivy's fast indexing and querying
  • Build custom search engines on top of tantivy for domain-specific search requirements
  • Prototype full-text search features before scaling to Quickwit, Meilisearch, or Elasticsearch

Not For

  • Distributed search across multiple nodes — tantivy is single-node; use Quickwit or Elasticsearch for distributed search
  • Python/JavaScript search — use Meilisearch or Typesense for multi-language search APIs
  • Production search APIs with rich features — tantivy is a library; wrap it or use Quickwit for a full search service

Interface

REST API
No
GraphQL
No
gRPC
No
MCP Server
No
SDK
Yes
Webhooks
No

Authentication

Methods: none
OAuth: No Scopes: No

Embedded library — no auth needed. Index files are local and protected by filesystem permissions.

Pricing

Model: open_source
Free tier: Yes
Requires CC: No

MIT licensed open source library.

Agent Metadata

Pagination
offset
Idempotent
Full
Retry Guidance
Not documented

Known Gotchas

  • Index schema is immutable after creation — define all fields upfront; schema changes require rebuilding the index
  • Index must be committed and reopened to see newly indexed documents — IndexWriter::commit() followed by IndexReader::reload() for search to reflect updates
  • Tokenizers must match between indexing and querying — indexing with simple tokenizer and querying with stemmer produces no results
  • Concurrent writes require a single IndexWriter — tantivy allows only one writer; use Arc<Mutex<IndexWriter>> for shared write access
  • Index files are not portable between tantivy versions — serialize data separately from the index if you need portability
  • tantivy DOES NOT support live/real-time search — there is a commit/reload cycle latency of at minimum milliseconds to seconds

Alternatives

Full Evaluation Report

Comprehensive deep-dive: security analysis, reliability audit, agent experience review, cost modeling, competitive positioning, and improvement roadmap for tantivy.

AI-powered analysis · PDF + markdown · Delivered within 30 minutes

$99

Package Brief

Quick verdict, integration guide, cost projections, gotchas with workarounds, and alternatives comparison.

Delivered within 10 minutes

$3

Score Monitoring

Get alerted when this package's AF, security, or reliability scores change significantly. Stay ahead of regressions.

Continuous monitoring

$3/mo

Scores are editorial opinions as of 2026-03-07.

6470
Packages Evaluated
26150
Need Evaluation
173
Need Re-evaluation
Community Powered