君不见,黄河之水天上来,奔流到海不复回【1】

走远了吗. 提交于 2020-01-07 04:53:53

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

什么是ES

      Luence的升级版,高度检索系统。

Elasticsearch的功能

1、分布式的搜索引擎和数据分析引擎

2、全文检索,结构化检索,数据分析

3、对海量数据进行近实时的处理

Elasticsearch的适用场景

    1、维基百科,类似百度百科,牙膏,牙膏的维基百科,全文检索,高亮,搜索推荐。
    2、The Guardian(国外新闻网站),类似搜狐新闻,用户行为日志(点击,浏览,收藏,评论)+社交网络数据(对某某新闻的相关看法),
数据分析,给到每篇新闻文章的作者,让他知道他的文章的公众反馈(好,坏,热门垃圾,鄙视,崇拜)
    3、Stack Overflow(国外的程序异常讨论论坛),IT问题,程序的报错,提交上去,有人会跟你讨论和回答,全文检索,搜索相关问题和
答案,程序报错了,就会将报错信息粘贴到里面去,搜索有没有对应的答案
    4、GitHub(开源代码管理),搜索上千亿行代码
    5、电商网站,检索商品
    6、日志数据分析,logstash采集日志,ES进行复杂的数据分析(ELK技术,elasticsearch+logstash+kibana)
    7、商品价格监控网站,用户设定某商品的价格阈值,当低于该阈值的时候,发送通知消息给用户,比如说订阅牙膏的监控,如果高露洁牙膏
的家庭套装低于50块钱,就通知我,我就去买。
    8、BI系统,商业智能,Business Intelligence。比如说有个大型商场集团,BI,分析一下某某区域最近3年的用户消费金额的趋势以及用
户群体的组成构成,产出相关的数张报表,**区,最近3年,每年消费金额呈现100%的增长,而且用户群体85%是高级白领,开一个新商场。ES执行
数据分析和挖掘,Kibana进行数据可视化。

Elasticsearch的特点

    1、可以作为一个大型分布式集群(数百台服务器)技术处理PB级数据,服务大公司;也可以运行在单机上,服务小公司
    2、Elasticsearch不是什么新技术,主要是将全文检索、数据分析以及分布式技术,合并在了一起,才形成了独一无二的ES,lucene(全文检索)
,商用的数据分析软件(也是有的),分布式数据库(mycat)
    3、对用户而言,是开箱即用的,非常简单,作为中小型的应用,直接3分钟部署一下ES,就可以作为生产环境的系统来使用了,数据量不大,操
作不是太复杂。
    4、数据库的功能面对很多领域是不够用的(事务,还有各种联机事务型的操作);特殊的功能,比如全文检索,同义词处理,相关度排名,复
杂数据分析,海量数据的近实时处理;Elasticsearch作为传统数据库的一个补充,提供了数据库所不不能提供的很多功能。

ElasticSearch的核心概念

Elasticsearch  理解
NRT 近实时,从写入数据到数据可以被搜索到有一个小延迟,大概1秒,基于es执行搜索和分析可以达到秒级
Cluster 集群,包含多个节点
Node 节点
Index 数据库
Document
Type  
Field 字段
shard 单台机器无法存储大量数据,es可以将一个索引中的数据切分为多个shard
replica 把shard的数据复制一遍到这个数据库,防止shard坏掉数据缺失

ElasticSearch安装

1、安装JDK,至少1.8.0_73以上版本,java -version

2、下载和解压缩Elasticsearch安装包

3、下载和解压缩Kibana安装包,使用里面的开发界面,去操作elasticsearch(相当于mysql的SQLyog工具一样)

    

4、启动Elasticsearch:bin\elasticsearch.bat,在解压缩的bin文件下,es本身特点之一就是开箱即用,如果是中小型应用,数据量少,操作不是很复杂,直接启动就可以用了

    

5、检查ES是否启动成功:http://localhost:9200/?pretty    (截图如下,数据可能不一样,看版本)

    

    name: node名称
    cluster_name: 集群名称(默认的集群名称就是elasticsearch)
    version.number: 5.2.0,es版本号

6、启动Kibana:bin\kibana.bat 同上,解压缩另外一个文件

    

    启动成功

7、进入Dev Tools界面  输入localhost:5601,进入界面入下

    

    点右面功能键:Dev Tools 进入控制台书写sql语句就可以操作了。

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!