Search Engine — Notes
Functional
- Full-text search with relevance.
- Filters, facets, aggregations.
- Geo queries.
- Near-real-time indexing.
- Vector / hybrid search.
Non-functional
- p99 search < 200 ms for typical queries.
- Near-real-time indexing 1-10 s.
- 99.95% availability.
Trade-offs
- Per-segment immutability = fast reads, slow updates.
- Reindex on schema change is common; plan zero-downtime swap.
- Vector indices need different sharding (HNSW graphs).
Refs
- Apache Lucene / Elasticsearch / OpenSearch docs.
- "Information Retrieval" Manning et al.
- Vespa.ai, Vespa engineering blog.
- Algolia / Typesense as managed search.