首页 后端开发 Golang 尽管存在重大缺陷,我们还是选择了美丽搜索而不是其他搜索引擎

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

Jul 29, 2024 am 07:20 AM

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

我们不断致力于改进 Hexmos 为即将发布的版本提供的产品反馈。

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

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

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

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

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

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

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

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

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

PostgreSQL 全文搜索

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

布莱韦

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

坦蒂维

Tantivy 是用 Rust 编写的,对于基于 Rust 的项目特别有用。它已经收到了许多积极的反馈,是一个值得考虑的不错的选择。
We Chose Meilisearch Over  Other Search Engines Despite a Major Drawback

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

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

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

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

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

经过广泛的筛选,我们将其范围缩小到该类别中的四个选项,例如:

  1. 美丽搜索
  2. 类型感
  3. PISA 搜索
  4. 蝎狮

以下是它们之间的比较:

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中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1670
14
CakePHP 教程
1428
52
Laravel 教程
1329
25
PHP教程
1276
29
C# 教程
1256
24
Golang vs. Python:性能和可伸缩性 Golang vs. Python:性能和可伸缩性 Apr 19, 2025 am 12:18 AM

Golang在性能和可扩展性方面优于Python。1)Golang的编译型特性和高效并发模型使其在高并发场景下表现出色。2)Python作为解释型语言,执行速度较慢,但通过工具如Cython可优化性能。

Golang和C:并发与原始速度 Golang和C:并发与原始速度 Apr 21, 2025 am 12:16 AM

Golang在并发性上优于C ,而C 在原始速度上优于Golang。1)Golang通过goroutine和channel实现高效并发,适合处理大量并发任务。2)C 通过编译器优化和标准库,提供接近硬件的高性能,适合需要极致优化的应用。

开始GO:初学者指南 开始GO:初学者指南 Apr 26, 2025 am 12:21 AM

goisidealforbeginnersandsubableforforcloudnetworkservicesduetoitssimplicity,效率和concurrencyFeatures.1)installgromtheofficialwebsitealwebsiteandverifywith'.2)

Golang vs.C:性能和速度比较 Golang vs.C:性能和速度比较 Apr 21, 2025 am 12:13 AM

Golang适合快速开发和并发场景,C 适用于需要极致性能和低级控制的场景。1)Golang通过垃圾回收和并发机制提升性能,适合高并发Web服务开发。2)C 通过手动内存管理和编译器优化达到极致性能,适用于嵌入式系统开发。

Golang的影响:速度,效率和简单性 Golang的影响:速度,效率和简单性 Apr 14, 2025 am 12:11 AM

GoimpactsdevelopmentPositationalityThroughSpeed,效率和模拟性。1)速度:gocompilesquicklyandrunseff,ifealforlargeprojects.2)效率:效率:ITScomprehenSevestAndArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdEcceSteral Depentencies,增强开发的简单性:3)SimpleflovelmentIcties:3)简单性。

Golang vs. Python:主要差异和相似之处 Golang vs. Python:主要差异和相似之处 Apr 17, 2025 am 12:15 AM

Golang和Python各有优势:Golang适合高性能和并发编程,Python适用于数据科学和Web开发。 Golang以其并发模型和高效性能着称,Python则以简洁语法和丰富库生态系统着称。

Golang和C:性能的权衡 Golang和C:性能的权衡 Apr 17, 2025 am 12:18 AM

Golang和C 在性能上的差异主要体现在内存管理、编译优化和运行时效率等方面。1)Golang的垃圾回收机制方便但可能影响性能,2)C 的手动内存管理和编译器优化在递归计算中表现更为高效。

表演竞赛:Golang vs.C 表演竞赛:Golang vs.C Apr 16, 2025 am 12:07 AM

Golang和C 在性能竞赛中的表现各有优势:1)Golang适合高并发和快速开发,2)C 提供更高性能和细粒度控制。选择应基于项目需求和团队技术栈。

See all articles