网站内部搜索引擎优化与外部搜索引擎优化的相同点(的小而美的框框架,聊聊一些新晋的框框)

优采云 发布时间: 2022-02-14 23:05

  网站内部搜索引擎优化与外部搜索引擎优化的相同点(的小而美的框框架,聊聊一些新晋的框框)

  今天不讲一些比较复杂的搜索引擎比如ElasticSearch/Solr,讲一些新的小而美的搜索引擎框架。

  MeiliSearch 与 Elasticsearch

  Elasticsearch 被设计为一个后端搜索引擎,虽然它最初并非用于此目的,但它通常用于为最终用户构建搜索栏。与通用搜索引擎 Elasticsearch 不同,MeiliSearch 专注于提供特定功能。

  Elasticsearch 可以处理大量数据的搜索并执行文本分析。为了使其对最终用户搜索有效,您需要花时间了解 Elasticsearch 的内部工作原理,以便您可以对其进行自定义和调整以满足您的需求。MeiliSearch 旨在为最终用户提供高性能的即时搜索体验。但是,处理复杂的查询或分析非常大的数据集是不可能的。

  如果您想提供完整的即时搜索体验,Elasticsearch 有时可能会太慢。大多数时候,它返回搜索结果的速度明显慢于 Meil​​iSearch。如果您需要一个易于使用的工具来部署容错搜索栏,提供前缀搜索功能,让用户搜索直观,并以近乎完美的相关性即时返回结果,MeiliSearch 是完美的选择。

  MeiliSearch vs. Algolia

  MeiliSearch 的灵感来自 Algolia 的产品及其背后的算法。为了实现我们自己的,我们确实研究了他们博客文章中描述的大多数算法和数据结构。因此,MeiliSearch 是一个基于 Algolia 的工作和最近的研究论文的新搜索引擎。它提供了类似的功能,并且与其前身一样快地达到了相同的相关性水平。

  与 Algolia 不同,MeiliSearch 是开源的,使用 Rust 编写,Rust 是一种系统级的现代编程语言,可以快速构建功能。Rust 还支持可移植性和灵活性,这使得在虚拟机、容器甚至 Lambda@Edge 中部署我们的搜索引擎成为一种​​无缝操作。

  Algolia 的主要资产之一是他们为客户提供的强大的全球基础设施。MeiliSearch 目前提供的是搜索引擎,还不能提供有竞争力的基础设施。然而,我们的目标是让它比 Algolia 的部署和维护更简单。

  开源 Lucene

  Apache Lucene 是一个免费的开源搜索库,用 Java 编写,用于全文索引和文档搜索。该项目最初由 Doug Cutting 于 1999 年创建,他之前曾在施乐的帕洛阿尔托研究中心 (PARC) 和 Apple 编写搜索引擎。由于 Lucene 是为构建像 Google 这样的网络搜索应用程序而开发的,因此您可以看到 DuckDuckGo 仍然使用它进行一些特定的搜索。

  Lucene 后来被分成几个项目。

  Lucene 本身:一个全文搜索库。Solr:具有强大 REST API 的企业搜索服务器。Nutch:一个可扩展且可扩展的网络爬虫,它依赖于 Apache Hadoop。由于 Lucene 是许多开源或闭源搜索引擎背后的技术,因此它被视为参考搜索库。

  索尼克

  Sonic 是一个用 Rust 编写的轻量级且无模式的搜索索引服务器。Sonic 不能被认为是开箱即用的解决方案,并且与 Meil​​iSearch 相比,它不保证相关性排名。实际上,它不存储任何文档,而是由一个带有 Levinstein 自动机的倒排索引组成,这意味着任何查询 Sonic 的应用程序都必须使用返回的 ID 从外部数据库中检索搜索结果,然后应用一些相关性排名。它可以在几 MB 的 RAM 上运行,使其成为可能过于繁重而无法扩展的数据库工具的极简且资源高效的替代方案。

  #Typesense 与MeiliSearch 一样,Typesense 是一个针对速度进行了优化的轻量级开源搜索引擎。我们目前正在重新评估它的特性和功能,以更好地了解它与 Meil​​iSearch 的比较。

  Lucene 衍生物 Lucene-Solr

  Solr 是 Apache Lucene 的子项目,由 Yonik Seeley 于 2004 年创建,如今已成为世界上使用最广泛的搜索引擎之一。Solr 是一个用 Java 编写并建立在 Lucene 之上的搜索平台。换句话说,Solr 是 Lucene 的 Java API 的 HTTP 包装器,这意味着您可以通过使用它来利用 Lucene 的所有功能。此外,Solr 服务器与 Solr 云相结合,提供分布式索引和搜索功能,确保高可用性和可扩展性。数据是共享的,但也会自动复制。此外,Solr 不仅仅是一个搜索引擎;它通常用作文档结构的 NoSQL 数据库。文档存储在集合中,类似于关系数据库中的表。

  由于其可扩展的插件架构和可定制的功能,Solr 是一个具有无穷无尽用例的搜索引擎,尽管它在企业搜索中特别受欢迎,因为它能够索引和搜索文档和电子邮件附件。

  布莱维和坦蒂维

  Bleve 和 Tantivy 是搜索引擎项目,分别用 Golang 和 Rust 编写,灵感来自 Apache Lucene 及其算法(例如,tf-idf,词频——反向文档频率的缩写)。与 Lucene 一样,两者都是可以在任何搜索项目中使用的库;但他们没有开箱即用的 API。

  弹性搜索

  Elasticsearch 是一个基于 Lucene 库的搜索引擎,是目前最流行的全文搜索引擎。它提供了一个 REST API,可通过 HTTP 上的 JSON 访问。它的关键选项之一,称为索引分片,使您能够将索引分区到物理空间以提高性能并确保高可用性。Lucene 和 Elasticsearch 都是为处理大型数据流、分析日志和运行复杂查询而设计的。您可以对与指定查询匹配的文档进行操作和分析(例如,计算所有名为“Thomas”的用户的平均年龄)。

  今天,Lucene 和 Elasticsearch 是开源搜索引擎领域的主要参与者。它们既是搜索空间中许多不同用例的可靠解决方案,也是构建您自己的推荐引擎的可靠解决方案。它们是很好的通用产品,但需要正确配置才能获得类似于 Meil​​iSearch 或 Algolia 的结果。

  商业闭源 Algolia

  Algolia 是一家以 SaaS 模式提供搜索引擎的公司。它的软件是闭源的。在早期阶段,提供可嵌入应用程序的移动搜索引擎的 Algolia 面临着从头开始实施搜索算法的挑战。从一开始,我们就决定构建一个专门针对最终用户的搜索引擎,即在移动应用程序或 网站 中实现搜索。在过去的几年中,Algolia 成功地证明了错字容忍对于改善用户体验的重要性,以及它对降低跳出率和增加转化率的影响。

  除了 Algolia,搜索引擎市场上还有很多 SaaS 产品可供选择。他们中的大多数人使用 Elasticsearch 并微调其设置,以获得定制和个性化的解决方案。

  快捷方式

  Swiftype 是一家专门从事网站搜索和分析的搜索服务提供商。Swiftype 由 Matt Riley 和 Quin Hoxie 于 2012 年创立,自 2017 年 11 月起归 Elastic 所有。它是一个建立在 Elasticsearch 之上的端到端解决方案,这意味着它能够利用 Elastic Stack。

  查找器

  Doofinder 是一种付费的现场搜索服务,旨在集成到任何 网站 中,只需很少的配置。Doofinder 被在线商店用来增加销售额,旨在促进购买过程。

  综上所述

  每个搜索方案最适合特定用例的约束。由于每种类型的搜索引擎都提供了一组独特的功能,因此比较它们的性能既不简单也不相关。例如,在基于生产的数据库中比较 Elasticsearch 和 Algolia 的速度是不公平的。对于非常大的基于全文的数据库也是如此。

  因此,我们无法将自己与基于 Lucene 或其他特定任务的搜索引擎进行比较。

  在我们介绍的具体用例中,与 Meil​​iSearch 最相似的解决方案是 Algolia。

  虽然 Algolia 提供了最先进和最强大的搜索功能,但这种效率伴随着昂贵的定价。此外,他们的服务面向大公司。

  美利搜索致力于服务各类开发者。我们的目标是提供易于安装和部署的对开发人员友好的工具。因为为最终用户提供开箱即用的出色搜索体验对我们来说很重要,所以我们希望让每个人都能以最少的努力获得最好的搜索体验,而无需大量的资本投资。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线