Large-scale search engines face a fundamental tension: the index must be updated frequently to maintain freshness, yet updates create resource contention that inflates query latency. In the dominant Lucene-based architecture, segment merges triggered by writes compete with concurrent queries for CPU cycles, disk I/O bandwidth, and operating-system page cache -- a problem we term \emph{write-read contention}. This survey systematically examines the architectural solutions that industry and academia have developed to decouple write pressure from read latency. We identify five principal patterns: (i)~node-level read-write separation; (ii)~compute-storage separation; (iii)~full in-memory indexing; (iv)~log-structured write paths; and (v)~in-place partial updates. We survey representative systems including Elasticsearch, LinkedIn Galene, Uber Sia, Quickwit, Alibaba Havenask, Algolia, Milvus, and Vespa, and discuss an emerging synthesis -- the ScaleSearch architecture -- that combines compute-storage separation with full in-memory indexing and dedicated write nodes. A key contribution of ScaleSearch is \emph{per-field update routing}: each field is assigned its own Kafka topic and update path, allowing scalar fields (price, stock, tags) to be updated in-place in $O(1)$ RAM with immediate visibility while full-text fields follow the segment-based compute-storage path. We conclude with open challenges in hybrid vector-and-full-text retrieval, serverless deployments, and AI-integrated search.
翻译:大规模搜索引擎面临一个根本性矛盾:索引必须频繁更新以保持数据新鲜度,但更新操作会引发资源争用,导致查询延迟激增。在基于Lucene的主流架构中,写入触发的段合并操作与并发查询会竞争CPU周期、磁盘I/O带宽及操作系统页面缓存——我们将此问题称为"写-读争用"。本文系统性地梳理了工业界与学术界为解耦写入压力与读取延迟所发展的架构方案。我们识别出五种主要模式:(i)节点级读写分离;(ii)计算存储分离;(iii)全内存索引;(iv)日志结构写入路径;(v)原地部分更新。我们对包括Elasticsearch、LinkedIn Galene、Uber Sia、Quickwit、阿里巴巴Havenask、Algolia、Milvus及Vespa在内的代表性系统进行了调研,并讨论了一种新兴融合方案——ScaleSearch架构——该方案将计算存储分离与全内存索引及专用写入节点相结合。ScaleSearch的核心贡献在于"字段级更新路由":每个字段分配独立的Kafka主题与更新路径,标量字段(价格、库存、标签)可在$O(1)$ RAM中原地更新并立即可见,而全文检索字段则遵循基于段的计算存储路径。我们最后讨论了混合向量-全文检索、无服务器部署及AI集成搜索领域的开放挑战。