Overview of nrtSearch
mainnrtSearch is a high-performance gRPC server built on Apache Lucene 8.x that exposes Lucene's core functionality via a gRPC API. It optionally provides REST APIs on top of the gRPC layer.
Key features include:
- Near-Real-Time (NRT) Segment Replication: Uses a primary/writer node for indexing and segment merges, while replica nodes are dedicated entirely to search queries. This differs from document-based replication (like Elasticsearch) where every node is both a writer and a reader.
- Concurrent Query Execution: Supports running multiple queries simultaneously.
- Stateless Microservice Deployment: Indexes can be backed up to S3, allowing for easy scaling in environments like Kubernetes or Mesos. Nodes can bootstrap from previous backups upon restart.
- Streaming APIs: Provides gRPC streaming for both indexing and searching.