卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章68905本站已运行4220

尽管存在重大缺陷,我们还是选择了美丽搜索而不是其他搜索引擎

是否值得在第三方搜索引擎上投入资源?这是我们的理由。

我们正在不断努力改进 hexmos 为即将发布的版本提供的产品反馈。

新功能和页面不断出现,用户界面不断变化,错误不断被注意到和修复,产品中正在发生许多变化。随着产品的发展,我们意识到我们需要改进整个产品的导航。

我们已经有了侧边栏和客户端搜索包cmdk来导航到不同的屏幕,但是当我们想要搜索不同的用户资料、团队、团队绩效等时就会出现困难,这迫使我们集成更好的第三方反馈搜索引擎。

使用专用搜索引擎的另一个原因是我们链上还有其他产品,例如FeedZap,未来需要复杂的文本搜索操作。

考虑到这一点,我们计划努力实现一个专用的、强大的搜索引擎,以适应我们的用例和资源可用性。

如何选择适合您需求的搜索引擎

有很多可用的搜索引擎,包括开源搜索引擎、无服务器、基于服务器等。
在深入找出正确的方案之前,最好先分析一下您的需求和基础设施,包括当前和未来的需求。

对于某些产品,可搜索的数据很少,但需要具有良好的搜索功能和最少的操作,但又买不起专用服务器。
对于其他产品,数据集更大,需要额外复杂的搜索操作,并且有足够的资源来加载专用搜索引擎。

基于此,我回顾了几个流行的搜索引擎。

需要良好的性能,数据集较小,并且买不起服务器

PostgreSQL 全文搜索

如果您正在使用 PostgreSQL 并且不想维护任何其他基于索引的数据库,那么 PostgreSQL 全文搜索 (PSFTS) 是一个不错的选择。但是,不建议在处理数百万笔交易和大量数据管理的大型用例中使用它。

布莱韦

如果您的项目位于 Go 生态系统内,那么 Bleve 是另一个值得考虑的选择。如果您不能依赖强大的基于服务器的搜索引擎服务,建议您使用。这是 Bleve 的基准报告。

坦蒂维

Tantivy 是用 Rust 编写的,对于基于 Rust 的项目特别有用。它已收到许多积极的反馈,是一个值得考虑的不错选择。


尽管存在重大缺陷,我们还是选择了美丽搜索而不是其他搜索引擎

需要强大的性能、大数据集并且能够负担得起服务器

需要强大的性能、大数据集并且能够负担得起服务器

如果您拥有服务器或云实例,并且需要一个功能强大、可扩展且具有完全控制权的搜索引擎,那么基于服务器的选项就是最佳选择。

我们的考虑和要求促使我们选择基于服务器的搜索引擎。我们有足够的资源来托管它,它比无服务器选项更好

    长期使用
  • 可扩展性
  • 对复杂搜索操作的额外支持,例如:
    • 分面搜索:这意味着在线购物时,您可能会搜索“笔记本电脑”,然后使用分面搜索通过选择“价格低于 1000 美元”、“品牌:Apple”和“RAM:16GB”等过滤器来缩小结果范围。
    • 多重搜索:考虑可以让用户同时搜索航班、酒店和汽车租赁并显示综合结果的旅游网站。
    • 键入即搜索:它根据每次击键提供实时搜索结果。
  • 多种产品的通用搜索系统。
经过广泛的过滤,我们将其范围缩小到此类别中的四个选项,例如:

    美丽搜索
  1. 类型感
  2. PISA 搜索
  3. 蝎尾狮
这是它们之间的比较:

标准meili搜索类型感比萨搜索蝎尾狮输入即搜索是的是的没有没有分面搜索是的是的没有没有多种架构/产品支持是的是的-是的内存使用情况 对于 224 MB 磁盘:~305 MB RAM 主要索引位置是磁盘主索引位置是 RAM,100MB 磁盘需要 300MB RAM--CPU 使用率 对于 12 核机器,它最多使用 6 核 与高 CPU 使用率相关的 github 问题 对于 4vCPU 处理 104 个并发搜索/秒--拼写错误、同义词处理是的是的--

我们过滤掉了 PISA 搜索和 Manticore,因为它们都不提供我们的应用程序所需的“即输入即搜索”和分面搜索功能。

继续阅读全文:https://journal.hexmos.com/we-chose-meilisearch-over-10-other-search-engines-despite-a-major-drawback/

卓越飞翔博客
上一篇: 更改 CSS 中的背景颜色
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏