想要更好地控制您的搜索设置?了解我们的灵活的基础设施定价

回到主页Meilisearch 的标志
返回文章

MeiliES - Rust 中的事件溯源

2019年3月25日阅读时长2分钟
Thomas Payet
Thomas PayetMeilisearch 联合创始人兼首席运营官@totolapaille
MeiliES - Event sourcing in Rust
分享文章

今天我们发布了 MeiliES,这是一个完全用 Rust 实现的事件存储。

事件溯源是一种“将应用程序状态的所有更改捕获为事件序列”的方式,正如 Martin Fowler 所描述的。服务器的首要目的是向订阅的客户端发布事件流中的事件。客户端还可以指定它希望从哪个事件编号开始读取,因此可以通过仅使用新事件重建状态来从崩溃中恢复。

由于 消息队列不适合事件溯源,目前可用于事件溯源的应用程序很少:主要的选择是 EventStore,一个用 C# 编写的事件溯源数据库。
所以我们开始使用 EventStore 来满足我们的事件溯源需求,但遇到了一些问题。

  • 可移植性:EventStore 用 C# 构建并使用 mono,这使得它在 UNIX 上安装和运行相当困难。
  • 支持:我们曾询问 EventStore 商业支持的信息,但从未收到任何回复。
  • 稳定性:Rust 客户端尚未达到生产就绪状态,尽管我们提出了一些合并请求,但仍有很多工作要做,而许多可用功能对我们来说并不实用。

因此,我们决定实现自己的事件存储来解决这些问题。

MeiliES 是一个使用 RESP (REdis 序列化协议) 进行通信的**事件溯源数据库**。我们使用 Redis 协议来简化客户端的实现。通过使用完全基于 Rust 的实现(我们使用 Sled 作为内部存储)解决了可移植性问题。

安装就像执行 cargo build --release 一样简单。如果你不想克隆仓库,你可以 从 Azure pipeline 下载二进制文件,或者使用 Docker 运行它:docker run -p 6480:6480 --rm getmeili/meilies:latest

如果您对 MeiliES 有任何疑问,可以发推特给 @meilisearch 或在 GitHub 上提出问题 🎉

Why traditional hybrid search falls short (and how we fixed it)

为什么传统混合搜索效果不佳(以及我们如何解决它)

Meilisearch 创新的评分系统通过正确结合全文搜索和语义搜索,彻底改变了混合搜索,提供比传统排名融合方法更相关的结果。

Louis Dureuil
Louis Dureuil2025年6月19日
Introducing Meilisearch's next-generation indexer: 4x faster updates, 30% less storage

隆重推出 Meilisearch 的下一代索引器:更新速度快 4 倍,存储空间减少 30%

2024 年索引器版本通过并行处理、优化的 RAM 使用和增强的可观察性彻底改变了搜索性能。查看我们最新版本中的新功能。

Louis Dureuil
Louis Dureuil2025年2月26日
Meilisearch indexes embeddings 7x faster with binary quantization

Meilisearch 使用二值量化将嵌入索引速度提高7倍

通过在向量存储 Arroy 中实现二值量化,显著减少了大型嵌入的磁盘空间使用和索引时间,同时保持了搜索相关性和效率。

Tamo
Tamo2024年11月29日
© . This site is unofficial and not affiliated with Meilisearch.