lightweight-search-engines.md 2.1 KB


title: "Lightweight Search Engines" date: 2022-03-26T15:05:52+07:00

draft: true

輕量搜索引擎

搜索引擎是很多應用部署都無法回避的一個組件。業界比較知名的有 ElasticSearch, Algolia。其中 ElasticSearch 功能完備,而 Algolia 是一個付費的雲搜索產品。

MeiliSearch

MeiliSearch 是一個開箱即用的全文搜索引擎,Rust 開發,索引基於 index,每條待搜索內容爲 document, index 爲 document 的命名空間或容器,支持 filter, sorting。目前不支持 cluster,如果需要,可以用自己的方式定義索引方式,達到自己的要求。

zincsearch

Go 實現的搜索引擎,帶UI。對標 ES,使用 bluge 作爲底層索引器

openobserve

Rust 實現的日志搜索引擎

Typesense

支持分布式的搜索引擎,C++開發,官方稱其爲 Algolia alternative。

rucene

rucene 是 apache lucene 的 Rust 實現,和 lucene 有幾乎相同的 API

sonic

sonic 是一個 rust 開發的有趣的搜索引擎,其並沒有文檔的概念,適用與 dropdown autocompletion 場景,事實上,本項目也是爲此開發。

RediSearch

RediSearch 是 redis 的一個 module,配合另一個 module RedisJSON 能實現性能可觀的索引和搜索。

tntsearch

vespa

The open big data serving engine.

PHP 實現的一個 full text 搜索引擎

TODO

題外話

  1. 搜索往往很快,主要在於索引速度,特別是後期的增量索引速度
  2. 如果應用規模較大,仍然建議使用 ElasticSearch,除非對其他產品有深入了解,在實際項目中重度應用過。