反其道行之的Elasticsearch
共 1475字,需浏览 3分钟
·
2023-08-10 02:18
在这个移动互联网早已普及的时代,搜索成了每个人日常生活的刚性需求。我们可以用淘宝搜商品,用微博搜话题,用知乎搜问题,用GitHub搜代码,用bilibili搜视频,等等。
搜索是一种高效获取信息的方式,只需要一个输入框和一个按钮,并输入关键字,即可立刻得到结果。我们每天享受着技术带来的便利,那么你有没有想过自己也能做一个“搜索引擎”呢?下面介绍本章的“主角”——Elasticsearch。
Elasticsearch简介
什么是搜索引擎
我们对搜索引擎都有一定的了解,但你可能不知道搜索引擎还有以下几种分类:
· 目录搜索引擎
· 全文搜索引擎
· 元搜索引擎
· 垂直搜索引擎
目录搜索引擎:算不上真正的搜索引擎。由人工采集、整理分类的信息网站,以及早期那些门户网站属于这一类。
全文搜索引擎:目前应用最广泛的搜索引擎,通过网络爬虫、自然语言处理(NLP)及大数据分析形成自己庞大的数据库。百度、谷歌、必应等属于这一类。
元搜索引擎:简单来讲,就是一种聚合多个全文搜索引擎的工具。它可以先把关键词发送给多个搜索引擎,然后把各个搜索引擎的搜索结果组合在一起。元搜索引擎并不生产搜索结果,它只是搜索结果的搬运工。
垂直搜索引擎:属于全文搜索引擎的一个细分类型,是某个特定业务领域的全文搜索引擎。本章开篇提到的淘宝、微博、bilibili等都属于这一类。
我们通常使用的是垂直搜索引擎。
在搜索界的地位
图13-1所示为来自DB-Engines的搜索引擎排行。
DB-Engines数据来源:搜索引擎(谷歌、必应)中的检索次数;谷歌趋势;技术网站(Stack Overflow、DBA Stack Exchange)的问答、讨论;
招聘网站(Indeed、Simply Hired)中的招聘要求;职场社交网站(领英)用户的个人简介;社交媒体(Twitter)上的发帖内容。可以看到,Elasticsearch不仅常居榜首,且得分“一骑绝尘”。
为什么是Elasticsearch
Elasticsearch和排名第三的Solr都是基于Lucene的,性能都很好,可以对PB量级的数据进行秒级的查询。那么,Elasticsearch的优势有哪些呢?
1PB=1024 TB与Solr对比
· Elasticsearch是分布式的,而Solr需要借助ZooKeeper
· Solr单纯的查询性能优于Elasticsearch,但建立索引时会有I/O阻塞,而Elasticsearch不存在这个问题,因此也更适合互联网业务390
· 随着数据量的增加,Solr的性能会下降,而Elasticsearch基本不受影响
· Elasticsearch提供了简单易用的REST API,可以无缝地与其他技术结合
因为Elasticsearch自身的强大与易用,所以在很多业务场景都能看到它的身影。它除了是垂直搜索引擎的首选解决方案,还可以与Logstash和Kibana组成著名的ELK组合,是非常好的日志处理与分析工具,并且适用于数据分析与数据挖掘等BI业务场景。
谁在用
· 国外:GitHub、Uber、Facebook等
· 阿里巴巴、腾讯、百度、字节跳动、美团、滴滴等
本文就是愿天堂没有BUG给大家分享的内容,大家有收获的话可以分享下,想学习更多的话可以到微信公众号里找我,我等你哦。