我们不断致力于改进 Hexmos 为即将发布的版本提供的产品反馈。
新功能和页面即将推出,用户界面正在发生变化,错误正在被注意到并修复,并且产品中正在发生许多变化。随着产品的发展,我们意识到我们需要改进整个产品的导航。
我们已经有了侧边栏和客户端搜索包cmdk来导航到不同的屏幕,但是当我们想要搜索不同的用户资料、团队、团队绩效等时就会出现困难,这迫使我们集成更好的第三方反馈搜索引擎。
使用专用搜索引擎的另一个原因是我们链上还有其他产品,例如FeedZap,未来需要复杂的文本搜索操作。
考虑到这一点,我们计划努力实施一个专用的、强大的搜索引擎,以适应我们的用例和资源可用性。
有很多可用的搜索引擎,包括开源搜索引擎、无服务器、基于服务器等
在深入找出正确的方案之前,最好先分析一下您的需求和基础设施,包括当前和未来的需求。
对于某些产品,可搜索的数据很少,但需要具有良好的搜索功能和最少的操作,但又买不起专用服务器。
对于其他产品,数据集更大,需要额外复杂的搜索操作,并且有足够的资源来加载专用搜索引擎。
基于此,我回顾了一些流行的搜索引擎。
如果您正在使用 PostgreSQL 并且不想维护任何其他基于索引的数据库,那么 PostgreSQL 全文搜索 (PSFTS) 是一个不错的选择。但是,不建议在处理数百万笔交易和大量数据管理的大型用例中使用它。
如果您的项目位于 Go 生态系统内,Bleve 是另一个值得考虑的选择。如果您不能依赖强大的基于服务器的搜索引擎服务,建议您使用。这是 Bleve 的基准报告。
Tantivy 是用 Rust 编写的,对于基于 Rust 的项目特别有用。它已经收到了许多积极的反馈,是一个值得考虑的不错的选择。
如果您拥有服务器或云实例,并且需要一个功能强大、可扩展且具有完全控制权的搜索引擎,那么基于服务器的选项就是您的最佳选择。
我们的考虑和要求促使我们选择基于服务器的搜索引擎。我们有足够的资源来托管它,它比无服务器选项更好
经过广泛的筛选,我们将其范围缩小到该类别中的四个选项,例如:
以下是它们之间的比较:
Criteria | meiliSearch | Typesense | Pisa Search | Manticore |
---|---|---|---|---|
Search-as-you-type | yes | yes | No | No |
facet search | yes | yes | No | No |
multiple schema/product support | yes | yes | - | yes |
RAM usage | for 224 MB disk:~305 MB RAM prmary index location is disk | primary index location is RAM, for 100MB disk requires 300MB RAM | - | - |
CPU Usage | for 12 core machine it uses maximum 6 core github issues related to high cpu usage | for 4vCPU handle 104 concurrent search/seconds | - | - |
typo, synonyms handling | yes | yes | - | - |
我们过滤掉了 PISA 搜索和 Manticore,因为它们都不提供我们的应用程序所需的“键入时搜索”和分面搜索功能。
在这里继续阅读全文:https://journal.hexmos.com/we-chose-meilisearch-over-10-other-search-engines-despite-a-major-drawback/
以上是尽管存在重大缺陷,我们还是选择了美丽搜索而不是其他搜索引擎的详细内容。更多信息请关注PHP中文网其他相关文章!