ES搜索(ElasticSearch)入门理论篇

SQL查询方式

Like %关键字%
如果我们的数据量十分的大的时候会出现搜索十分慢的情况,那么就会使用到索引说到底如果是大数据的要求还是达不到的,那么我们就可以使用到ES搜索了

ES相关知识

聊聊Doug Cutting

1998年9月4日,Google公司成立,它就是一家搜索引擎起家的公司。有这么一位工程师叫Doug Cutting的美国工程师,它做了一个用于文本搜索函数库(软件的功能组件),命名为Lucene

什么是Lucene

Lucene是用Java写的,目标是为各种的小型应用软件加入全文检索功能,因为好用并且开源(代码公开),非常受欢迎,之后Lucene被Apache软件基金会jakcrta项目的一个子项目

什么是Nutch

Nutch是一个建立在Lucene核心之上的网页搜索应用程序,可以直接下载进行使用。它在Lucene的基础上加上了网络爬虫和一些网络相关的功能,目前就是从一个简单的站内检索推广到全球网络的搜索上,就像Google一样

演变

但是随着时间的推移,无论是Google还是Nutch,都被面临着搜索对象“体积”不断增大的问题。2003年,Google发表了一篇技术论文,公开介绍了自己的谷歌文件系统GFS(Google File System),这是Google为了存储海量数据而设计的专用文件系统,第二年,Doug Cutting基于Google的GFS论文,实现了分布式文件存储系统,并命名为NDFS(Nucth Distributed File System),2005年,Doug Cutting又基于MapReduce,在Nutch搜索引擎实现了大规模数据集

Lucene和ES搜索的关系

ES搜索是基于Lucene做了一些封装和增强,让我们上手十分简单!

ES概述

ElasticSearch,简称es,es是一个开源的高扩展的分布式全文搜索引擎,它可以近乎实时的存储,检索数据,本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据,es也是用java开发并使用Lucene作为其核心来实现所有的索引和搜索功能,但是它的最终目的是通过简单的Restful API来隐藏Lucene的复杂性,从而让全文搜索变得简单在国际权威的数据库产品测试机构DB Engines的统计,在2016年1月,ES搜索已经超过了Solr等,成为排名第一的搜索引擎类应用

使用者

维基百科、GitHub、电商网站、日志数据分析、BI系统、IT系统(OA、ERP、CRM)

对比

ES搜索

ES搜索:是一个实时分布式搜索和分析引擎,它让你以前所未有的速度处理大数据成为可能,主用于全文搜索结构化搜索分析以及将这三者混合使用

Solr

Solr是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器,Solr提供了比Lucene更丰富的查询语言,同时实现了可配置,可扩展,并对索引,搜索性能进行了优化,Solr可独立运行,运行在letty、Tomcat等这些容器中,Solr提供了管理页面,不提供构建UI的功能

Lucene

Lucene是用Java写的,目标是为各种的小型应用软件加入全文检索功能,因为好用并且开源(代码公开),非常受欢迎

使用范围

当单纯的对已有数据进行搜索时,Solr更快。当实时建立索引时,Solr会产生io阻塞,查询性能较差,ES搜索具有明显的优势随着数据量的增加,Solr的搜索效率会变得更低,而ES搜索却没有明显变化,总之ES搜索相比Solr也可以提供将近50倍的效率

总结

1、es基本是开箱即用,非常简单。Solr安装稍微复杂一点
2、Solr是利用Zookeeper进行分布式管理,而ES自身带有分布式协调管理功能
3、Solr支持更多的格式的数据,比如JSON,XML、CVS,而ES仅支持JSON文件格式
4、Solr官方提供的功能更多,而ES本身更注重于核心功能,高级功能都有第三方插件提供,例如圆形化界面需求、kibana友好支持
5、Solr查询快、但更新索引慢(即插入和删除慢),用于电商等查询多的应用
6、ES建立索引快(即查询慢)即实时性查询快,用于facebook新浪等搜索
7、Solr是传统的搜索应用的有力解决方式,但ES更适用于新兴的实时搜索应用
8、Solr比较成熟、有一个更大、更成熟的用户、开发和共享者社区,而ES相对于开发维护较少,更新太快,学习使用成本高

闲言碎语

最近在赶项目上的事情,所以像MyBatis-plus的增强版也是还没写出来,在后期会写一篇更深入的博文,在上一篇爬虫的博文的进阶版也是基于ES搜索来进行的,下期我会直接出一篇ES搜索相关的实践知识,然后结合进行总结,下期见!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

藤井大叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值