您的位置:首页 > 其它

【ElasticSearch系列】ES简介及安装

2016-07-08 18:06 369 查看
【前提:】

目前大部分的数据库在提取数据方面是非常薄弱的,虽然它们可以通过时间戳或相关的数值来进行内容的筛选,但是它们无法在全文搜索的同时做到同义词或相关性的搜索,它们也无法获取相同内容的数据。这个看着很有意思,就像我们的搜索引擎,肯定跟一个小小管理系统中的条件搜索不一样,更何况,面对如此巨大的数据量,一个普通的管理系统中能做的无非就是数据表结构进行调整,或者SQL语句进行优化,而对于实时性的问题,数据量级别达到一定程度,就立马傻眼了。以上这些都是ES突出的原因,

我现在的项目并没有用ES,但作为一个高效、实时的分布式搜索、分析引擎,而且它可以帮助你浏览并利用那些已经快要烂在数据库里那些极难查询的数据。所以,你给自己一个不得不学习的理由。

【介绍:】

Elasticsearch是一个基于Lucene的搜索服务器,可以说是基于Lucene开发的一个搜索服务器应用。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful
web接口。ElasticSearch是用java开发的,并作为Apache许可条款下的开放源码发布,是当前流向的企业级搜索引擎,能够达到实时搜索、稳定、可靠、快速,安装使用方便。它可以帮助你用前所未有的速度去处理大规模数据,并可以用全文搜索、结构化搜索以及分析或将三者综合使用去查询庞大的数据。

应用:

稍微提一下它的应用,作为额外了解,也顺便看看都哪些神奇的应用在应用ES

维基百科使用ES来进行全文搜索并高亮显示关键词,以及提供search-as-you-type、did-you-mean等搜索建议功能
英国卫报使用ES来处理访客日志,以便能将公众对不同文章的反应实时的反馈给各位编辑
StackOverflow将全文搜索与地理位置和相关信息进行结合,以提供more-like-this相关问题的展现
GitHub使用ES来检索超过1300亿行代码
每天Goldman Sachs用来ES来处理5TB数据的索引,还有很多同行使用它来分析股票市场的变动
ES并不只是面向大型企业的,它还帮助了很多类似DataDog以及Klout的创业公司进行了功能的扩展。ES可以运行在你的笔记本上,也可以部署到成千上万的服务器上,处理PB级别的数据。解释一下PB级别数据的概念,你一定很熟悉TB了,比如我的硬盘是2T,1TB等于2的40次方,1PB呢就是2的50次方,可见ES能够处理的数据量级别之大。

功能:
当然了,要说说ES的功能,不仅仅是检索这么简单,系统的来说一下吧

分布式实时文件存储,并将每个字段都编入索引,使其可以被搜索
实时分析的分布式搜索引擎
可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据
废话不多说,下面马上进入ES的安装。

【安装:】
1.JDK安装
首先呢,安装最新版的JDK,我之前装的就是1.7.0_51,结果发现安装不成功,下载ElasticSearch最新版2.3.3,启动命令窗口,切换到elasticsearch的bin目录下,运行elasticsearch.bat不成功,报错如下:



从报出的异常信息可以看出是JDK的问题,Java version:Oracle Corporation 1.7.0_51*** which can
cause data corruption....解决方案也给出了,Please upgrade the JVM,其实是要升级一下JDK的版本,如果不相信,可以继续查询一下日志信息。
查看日志信息,提示:



所以调整一下JDK的版本,活脱脱的换成1.8.0_25才可以,真任性。从重新执行elasticsearch.bat



2.下载ElasticSearch
下载地址:https://www.elastic.co/downloads/elasticsearch



下载zip压缩包到相应的文件夹,解压,解压之后的目录的这样的:



到这里,先停一下,有必要介绍一下这几个文件夹,这样会对ES有更深的了解:

bin--存放可执行文件
config--存放配置文件
data--存放es保持的所有index数据
lib--存放jar包
logs--存放日志文件
plugins--存放你安装的插件

3.安装
其实在官网首页有安装步骤



为了方便,这里还是说一下。如果是Unix系统,则运行bin目录下的elasticsearch;如果是Windows系统,则运行bin目录下的elasticsearch.bat。我的是windows系统,可以直接右键运行elasticsearch.bat,或者是调出命令窗口,切到ES目录的bin目录下,运行elasticsearch.bat.

4.测试是否安装成功
启动成功之后在浏览器中输入:http://localhost:9200/ 如果出现如下表示安装成功:



 因为9200是ES的默认端口,这个端口号也可以在config/elasticsearh.yml中修改

【结束:】
这篇ES的简介和安装就介绍到这里,后面会陆续介绍ES插件的安装以及索引、类型等一些新概念,敬请期待。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: