Skip to content

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.