ES 应用场景

前言

我们之前有讨论过,ES 和 Solr 的功能实现上其实差别不大,没有什么功能比如说是 ES 有的而 Solr 是没有的。

为什么这么说呢?其实也很好理解,毕竟都是互相借鉴着来的嘛,这样才能共同进步。不然的话,你有的我没有,那大家还怎么选我的服务啊。

但是为什么我们最近一想到搜索引擎,或者是利用搜索引擎在自己公司里实现某些业务,我们第一反应都是 ES 呢?

个人理解有以下几点原因:

  1. ES 一直说自己是近实时搜索。其实近实时搜索是 Lucene 的功能,ES 和 Solr 都是基于 Lucene 实现的,所以都有了近实时搜索的功能,只不过 ES 一直在强调这点,而大家又比较关心这一点,所以一谈到搜索系统,大家首先想到的是 ES。
  2. ES 的生态更加好。我们都知道 ELK,实现了日志从收集到展示。以及其他的插件、服务等,非常友好,用户选择了 ES,就能方便的接入这些服务。
  3. 方便扩容。ES 能够实现平滑扩容,只要添加机器,就能够自动扩容,不需要使用 Zookeeper。其实 SolrClound 版本也能实现平滑扩容。
  4. 容易上手。ES 上手特别简单,无需大量配置即可上手。这也就是我们熟悉的“约定大于配置”。这也带来了一些局限性,比如在 Solr 中我们可以通过配置来修改字段类型,在 ES 中我们却不能修改了,只能重建索引。

既然 ES 这么火,今天我们就来看看 ES 都有哪些应用场景。

ES 应用场景

关系型数据库的补充、传统数据库的替代

ES 可以实现一些关系型数据库难以实现的功能,比如全文检索,ES 可以作为关系型数据库的补充,用来弥补关系型数据中的不足,也可能在某些情况下替代关系型数据库。

站内搜索、垂直搜索

电商网站的商品搜索可以说是站内搜索,和垂直搜索有交集。

什么是垂直搜索?

垂直搜索是针对某一行业的专业搜索引擎,是搜索的细分和延伸,对网页库中的某类专门的信息做一次整合,定向分字段抽取出需要的数据进行处理后再以某种形式返回给用户。

相较于通用搜索引擎的信息量大,查询不准确,深度不够,垂直搜索作为新的搜索引擎服务模式,通过针对某一特定领域,某一特定人群或者是某一特定需求,提供的有一定价值的信息和相关服务,更加专注、具体和深入,且具有一定的行业色彩。

通俗意义上,垂直搜索引擎是网站、APP 里面提供的搜索窗口,让用户通过搜索关键词就能直达目标内容。

淘宝、天猫、京东是电商商品领域的垂直搜索引擎。

知乎是知识问答领域的垂直搜索引擎。

谷歌、百度、必应则是面向通用领域、索引海量信息、试图服务全网用户的通用搜索引擎。

记录和日志分析

了解 ES 的都知道,这个功能不足为奇,围绕着 ES 构建的生态系统使其成为最容易实现的功能。
我们可以对海量数据进行近实时的处理,对复杂的日志进行分析,得到我们想要的结果。

全文检索

毫无疑问,作为 Elasticsearch 的核心功能,全文搜索在 ES 应用场景中占据着重要的位置。

应用场景案例

  • DataDome 公司是一家全球网络安全公司,提供 SaaS 解决方案,旨在保护客户王赞免受 OWASP 的侵害。
  • 2013年初,GitHub抛弃了Solr,采取ElasticSearch 来做PB级的搜索。
  • 维基百科
  • Stack Overflow
  • 饿了么物流系统
  • 京东到家订单系统
  • 携程酒店订单、机票
  • 去哪儿订单
  • 等等

参考文档

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!