--- title: "Lightweight Search Engines" date: 2022-03-26T15:05:52+07:00 draft: true --- ## 輕量搜索引擎 搜索引擎是很多應用部署都無法回避的一個組件。業界比較知名的有 ElasticSearch, Algolia。其中 ElasticSearch 功能完備,而 Algolia 是一個付費的雲搜索產品。 ### [MeiliSearch](https://github.com/meilisearch/meilisearch) MeiliSearch 是一個開箱即用的全文搜索引擎,Rust 開發,索引基於 index,每條待搜索內容爲 document, index 爲 document 的命名空間或容器,支持 filter, sorting。目前不支持 cluster,如果需要,可以用自己的方式定義索引方式,達到自己的要求。 ### [zincsearch](https://github.com/zincsearch/zincsearch) Go 實現的搜索引擎,帶UI。對標 ES,使用 [bluge](https://github.com/blugelabs/bluge) 作爲底層索引器 ### [openobserve](https://github.com/openobserve/openobserve) Rust 實現的日志搜索引擎 ### [Typesense](https://github.com/typesense/typesense) 支持分布式的搜索引擎,C++開發,官方稱其爲 Algolia alternative。 ### [rucene](https://github.com/zhihu/rucene) rucene 是 apache lucene 的 Rust 實現,和 lucene 有幾乎相同的 API ### [sonic](https://github.com/valeriansaliou/sonic) sonic 是一個 rust 開發的有趣的搜索引擎,其並沒有文檔的概念,適用與 dropdown autocompletion 場景,事實上,本項目也是爲此開發。 ### [RediSearch](https://github.com/RediSearch/RediSearch) RediSearch 是 redis 的一個 module,配合另一個 module RedisJSON 能實現性能可觀的索引和搜索。 ### [tntsearch](https://github.com/teamtnt/tntsearch) ### [vespa](https://github.com/vespa-engine/vespa) The open big data serving engine. PHP 實現的一個 full text 搜索引擎 ### TODO - solr - [OpenSearch](https://github.com/opensearch-project/OpenSearch) - wukong - ### 題外話 1. 搜索往往很快,主要在於索引速度,特別是後期的增量索引速度 2. 如果應用規模較大,仍然建議使用 ElasticSearch,除非對其他產品有深入了解,在實際項目中重度應用過。