Sphinx 是高性能全文檢索引擎,特點:索引構建極快(10-15MB/s)、查詢極快(百萬文檔 150-250 QPS)、易於 SQL/XML 整合、原生支持分布式擴展。
跨庫、跨機房的文章標題+內容聯合搜索。MySQL LIKE '%kw%' 全表掃描、跨庫網絡開銷大、無相關度排序。
+----------+ +----------+ +--------+ +-----+ | Database | ---> | Indexer | ---> | Searchd| <--- | APP | +----------+ +----------+ +--------+ +-----+ 數據源 索引程序 搜索服務 客戶端
配置 index distributed { type=distributed; local=idx1; agent=host2:idx2; },Searchd 自動並行查詢各分片並合並排序。
支持 INSERT/REPLACE/DELETE 實時更新,無需定時 Rebuild,適合高頻寫入場景。
Sphinx 以「空間換時間、順序讀代替隨機讀、內存計算代替磁盤計算」三大法寶,解決了傳統關係型數據庫全文檢索的性能瓶頸,是構建高性能搜索服務的首選組件。