vs

Apache Lucene vs Bleve

Apache Lucene: The Java search library at the heart of Elasticsearch, OpenSearch and Solr, now with HNSW vectors. Bleve: Pure-Go full-text, geo and vector indexing library from Couchbase.

key differences

  • Apache Lucene is built for larger datasets (≤ 1 PB) than Bleve (≤ 10 TB).
  • Only Apache Lucene has columnar storage.
  • Only Bleve has json.

choose apache-lucene for

  • +Embedding search in JVM applications
  • +Building custom search servers
  • +Desktop and IDE search features
  • +Research on retrieval algorithms

best at · Search, Vector search, Embedded

choose bleve for

  • +Embedding search in Go services and CLIs
  • +Desktop or self-hosted apps written in Go
  • +Hybrid text plus vector search in Go

best at · Search, Vector search, Embedded

overview
Primary model
Search Engine
Search Engine
Also supports
Vector, Spatial
Vector, Spatial
Type
Embedded library
Embedded library
Status
Active
Active
Developer
Apache Software Foundation
Couchbase and Bleve contributors
First release
1999
2014
Latest version
10.5.2 (Oct 4, 2026)
2.6.1 (Aug 24, 2026)
License
Open source (permissive)Apache License 2.0
Open source (permissive)Apache License 2.0
Free tier
✓
✓
popularity
WhichDB Score
38.6
12.2
Rank
#50
#272
GitHub stars
3.6K
11.2K
Stack Overflow questions
11.9K
17
scale & guarantees
Comfortable data size
Large (≤ 1 PB)
Medium (≤ 10 TB)
Horizontal scaling
Manual
Manual
Multi-region
None
None
ACID
Limited
Limited
Consistency
Strong
Strong
Schema
Flexible
Flexible
Architecture
Embedded
Embedded
deployment
Self-hosted
✓
✓
Vendor-managed cloud
—
—
Serverless
—
—
Embedded
✓
✓
Edge
—
—
Clouds
–
–
capabilities
Transactions
—
—
Joins
—
—
Secondary indexes
—
—
Full-text search
✓
✓
Vector search
✓
✓
Geospatial
✓
✓
JSON
—
✓
Change data capture
—
—
Triggers
—
—
Stored procedures
—
—
Materialized views
—
—
TTL / expiry
—
—
Pub/Sub
—
—
Columnar storage
✓
—
In-memory
—
—
Durable persistence
✓
✓
Compression
✓
✓
Encryption at rest
—
—
Role-based access
—
—
Time travel
—
—
Branching
—
—
Online schema changes
—
—
Streaming ingest
—
—
Offline sync
—
—
Runs in WebAssembly
—
—
interfaces
Query languages
Lucene query syntax, Java API
Bleve query string syntax, Go API
Client languages
Java, Kotlin, Scala
Go
Best for
Search, Vector search, Embedded, Geo
Search, Vector search, Embedded, Geo

Apache Lucene vs Bleve: FAQ

What is the difference between Apache Lucene and Bleve?

Apache Lucene: The Java search library at the heart of Elasticsearch, OpenSearch and Solr, now with HNSW vectors. Bleve: Pure-Go full-text, geo and vector indexing library from Couchbase. Apache Lucene is built for larger datasets (≤ 1 PB) than Bleve (≤ 10 TB). Only Apache Lucene has columnar storage. Only Bleve has json.

When should I choose Apache Lucene over Bleve?

Choose Apache Lucene for embedding search in JVM applications; building custom search servers; and desktop and IDE search features. Choose Bleve for embedding search in Go services and CLIs; desktop or self-hosted apps written in Go; and hybrid text plus vector search in Go.

Is Apache Lucene or Bleve more popular?

Apache Lucene ranks #50 on the WhichDB Score (38.6/100) and Bleve ranks #272 (12.2/100). Popularity is not fit: check the requirements that matter for your project.

Are Apache Lucene and Bleve open source?

Yes. Apache Lucene is open source. License: Apache License 2.0. Yes. Bleve is open source. License: Apache License 2.0.