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

优采云 发布时间: 2021-10-27 13:21

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

)

  今天,我们不会谈论一些更复杂的搜索引擎,比如 ElasticSearch/Solr,而是谈论一些新的小而美的搜索引擎框架。

  MeiliSearch 与 Elasticsearch

  Elasticsearch 是作为后端搜索引擎设计的,虽然一开始并不适合这个用途,但通常用于为终端用户创建搜索栏。与 Elasticsearch 不同,Elasticsearch 是一个通用的搜索引擎,而 Meil​​iSearch 则专注于提供特定的功能。

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

  如果您想提供完整的即时搜索体验,Elasticsearch 有时可能会太慢。大多数情况下,与 Meil​​iSearch 相比,它返回​​搜索结果的速度要慢得多。如果您需要一个简单易用的工具来部署一个可以容忍拼写错误的搜索栏,提供前缀搜索功能,让用户可以直观地搜索,并以近乎完美的相关性即时返回他们的结果,那么MeiliSearch 是一个完美的选择。

  MeiliSearch 与 Algolia

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

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

  Algolia 的主要资产之一是他们为客户提供的强大的全球基础设施。MeiliSearch 目前提供了一个搜索引擎,还不能提供具有竞争力的基础设施。但是,我们的目标是使其在部署和维护方面比 Algolia 简单得多。

  开源Lucene

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

  Lucene 后来被分成了几个项目。

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

  索尼克

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

  #Typesense 与 Meil​​iSearch 一样,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 库的搜索引擎,是全文搜索中最受欢迎的搜索引擎。它提供了一个可通过 HTTP JSON 访问的 REST API。其关键选项之一称为索引分片,使您能够将索引划分为物理空间以提高性能并确保高可用性。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人工客服


线