搜索引擎优化培训seo8(搜索引擎选型调研文档Elasticsearch)

优采云 发布时间: 2021-09-22 20:16

  搜索引擎优化培训seo8(搜索引擎选型调研文档Elasticsearch)

  搜索引擎选择研究文献elasticsearch简介*

  Elasticsearch是一个实时分布式搜索和分析引擎。它可以帮助您以前所未有的速度处理*敏*感*词*数据

  它可以用于全文搜索、结构化搜索和分析。当然,您也可以将这三者结合起来

  Elasticsearch是基于ApacheLucene的全文搜索引擎™ 基于搜索引擎,可以说Lucene是目前最先进、最高效的全功能开源搜索引擎框架

  然而,Lucene只是一个框架。为了充分利用它的功能,您需要使用Java并在程序中集成Lucene。要理解它是如何工作的,需要大量的学习。Lucene真的很复杂

  Elasticsearch使用Lucene作为其内部引擎,但当使用它进行全文搜索时,它只需要使用统一开发的API,而不了解其背后Lucene的复杂操作原理

  当然,elasticsearch不仅仅是Lucene。它不仅包括全文搜索功能,还可以做以下工作:

  通过将如此多的功能集成到一台服务器中,您可以通过客户机或您喜欢的任何程序语言轻松地与ES的restful API通信

  Elasticsearch非常容易开始。它附带了许多非常合理的默认值,这使得初学者在开始时避免面对复杂的理论

  一旦安装,它就可以使用,而且它可以以很小的学习成本变得非常高效

  随着您学习的越来越深入,您还可以使用elasticsearch更高级的功能,整个引擎可以灵活配置。您可以根据自己的需要定制自己的elasticsearch

  用例:

  然而,elasticsearch不仅适用于大型企业,还帮助许多初创企业,如datadog和klout,扩展其功能

  elasticsearch的优点和缺点**:elasticsearch的优点是分布式的。不需要其他组件。该分发是实时的,称为“推送复制”。Elasticsearch完全支持ApacheLucene的近实时搜索。处理多租户不需要特殊配置,而Solr需要更高级的设置。Elasticsearch采用网关的概念,使备份更容易完成。每个节点形成一个对等网络结构。当某些节点出现故障时,它们将自动指派其他节点代替它们工作。缺点是只有一个开发人员(elasticsearch GitHub组织拥有更多的开发人员,并且已经有相当活跃的维护人员)没有足够的自动化(不适合当前新的索引预热API)Solr引入*

  Solr(发音为“solar”)是ApacheLucene项目的开源企业搜索平台。其主要功能包括全文检索、点击标记、分面搜索、动态聚类、数据库集成和富文本(如word、PDF)处理。Solr具有高度可扩展性,并提供分布式搜索和索引复制。Solr是最流行的企业搜索引擎,solr4还添加了NoSQL支持

  Solr是一个独立的全文搜索服务器,用Java编写,运行在诸如Apache、Tomcat或jetty等servlet容器中。Solr采用Lucene java搜索库作为全文索引和搜索的核心,并具有类似http/XML和JSON API的rest。Solr强大的外部配置功能使其能够适应各种类型的应用程序,而无需java编码。Solr有一个插件体系结构来支持更高级的定制

  由于Apache Lucene和Apache SoR项目在2010中被合并,这两个项目由同一个Apache软件基金会开发团队生产和实现。说到技术或产品,Lucene/Solr或Solr/Lucene是相同的

  Solr的优势和劣势Solr的优势Solr拥有一个更大、更成熟的用户、开发人员和贡献者社区。它支持添加各种格式的索引,如HTML、PDF、Microsoft office series软件格式、JSON、XML、CSV和其他纯文本格式。Solr是成熟稳定的。搜索速度更快,无需考虑索引。缺点:建立索引时,搜索效率降低,实时索引的搜索效率不高。elasticsearch与Solr的比较*

  当只搜索现有数据时,Solr速度更快

  

  在实时索引时,Solr将产生IO阻塞和较差的查询性能。Elasticsearch具有明显的优势

  

  随着数据量的增加,Solr的搜索效率会降低,而弹性搜索没有明显变化

  

  总之,Solr的体系结构不适合实时搜索应用程序

  实际生产环境测试*

  下图显示,自从搜索引擎从Solr转移到弹性搜索以来,平均查询速度提高了50倍

  

  elasticsearch与Solr的比较与总结

  Solr是传统搜索应用程序的强大解决方案,但elasticsearch更适合新兴的实时搜索应用程序

  其他基于Lucene的开源搜索引擎解决方案*直接使用Lucene

  注意:Lucene是一个java搜索类库。它本身不是一个完整的解决方案,需要额外的开发工作

  优势:成熟的解决方案和众多成功案例。Apache的顶级项目正在不断取得快速进展。一个庞大而活跃的开发社区和大量的开发人员。它只是一个具有足够定制和优化空间的类库:经过简单的定制,可以满足最常见的需求;经过优化,可支持10多亿次搜索

  缺点:需要额外的开发工作。所有的扩展、分布、可靠性等需要自行实现;非实时性,索引和搜索之间存在时间延迟,当前“Lucene近实时搜索”搜索方案的可扩展性需要进一步改进

  描述:基于Lucene,支持分布式、可扩展、容错和准实时搜索方案

  优点:开箱即用,可以配合Hadoop实现分布式。它具有扩展和容错机制

  缺点:它只是一个搜索方案,索引部分还需要自己实现。在搜索功能中,只实现了最基本的需求。成功的案例很少,项目的成熟度稍差。因为它需要支持分布式,所以很难定制一些复杂的查询需求

  注:映射/减少模式,分布式索引方案,可与katta一起使用

  优点:分布式索引、可扩展性

  缺点:它只是一个索引方案,不包括搜索实现。在批处理模式下工作,不支持实时搜索

  描述:基于Lucene的一系列解决方案,包括准实时搜索Zoie、刻面搜索实现Bobo、机器学习算法分解器、摘要库krati、数据库模式打包Sensei等

  优点:经验证的解决方案支持分布式、可扩展和丰富的功能实现

  缺点:与LinkedIn接触太近,可定制性差

  注:基于Lucene,索引存在于Cassandra数据库中

  优点:参考卡桑德拉的优点

  缺点:指卡桑德拉的缺点。此外,这只是一个没有大量验证的演示

  注意:基于Lucene,该索引存在于HBase数据库中

  优点:指HBase的优点

  缺点:指HBase的缺点。此外,在实现中,Lucene术语存储在行中,但每个术语的相应发布列表存储在列中。随着单个术语过账列表的增加,查询速度将受到很大影响

  重印:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线