前言
最近开始尝试学习Elastic Search,因此决定做一些简单的整理,以供后续参考,快速上手使用ES。
简介
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
我们建立一个网站或应用程序,并要添加搜索功能,但是想要完成搜索工作的创建是非常困难的。我们希望搜索解决方案要运行速度快,我们希望能有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用JSON通过HTTP来索引数据,我们希望我们的搜索服务器始终可用,我们希望能够从一台开始并扩展到数百台,我们要实时搜索,我们要简单的多租户,我们希望建立一个云的解决方案。因此我们利用Elasticsearch来解决所有这些问题以及可能出现的更多其它问题。
可以简单地认为,ES是基于Lucene,进行了一些封装,可以作为一个独立的搜索服务。通过HTTP协议,将数据存放到ES中,并且向ES发出搜索请求以及得到回应。部署ES之后,可以为多个网站提供搜索服务。
同时,ES支持分布式,支持更多高级的搜索、数据分析等特性,作为入门级笔记,暂不多研究了。
安装
安装 jdk
需要安装1.8及以上版本的jdk,地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
安装配置环境变量后,命令行查看。
java -version
安装 elasticsearch-rtf
因为原生es是英文,中文使用者需要额外配置中文分词插件等,可使用一个预先配置好常用插件的发行版,地址:https://github.com/medcl/elasticsearch-rtf
按提示下载压缩包,以下以5.1.1为例。下载解压后,同时支持Win/Mac/Linux,进入bin目录。
# windows platform
cd bin
elasticsearch.bat
默认运行在 localhost:9200
端口,通过浏览器访问,显示类似如下内容,说明已经成功开启。
{
"name" : "nx1sDrr",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "Lz0cLBOZQdya_zjTkipl2w",
"version" : {
"number" : "5.1.1",
"build_hash" : "5395e21",
"build_date" : "2016-12-06T12:36:15.409Z",
"build_snapshot" : false,
"lucene_version" : "6.3.0"
},
"tagline" : "You Know, for Search"
}
安装 head插件
类似于mysql,可以通过一些图形化的管理工具,来更直观地管理es。这里使用head插件。
地址:https://github.com/mobz/elasticsearch-head
按照文档说明进行安装,注意有多种安装方式:
- 作为一个本地服务运行。需要电脑有nodejs环境,先下载项目,然后npm安装依赖,然后运行
- 作为Chrome浏览器插件运行。
- 通过docker运行。
对于本地没有nodejs环境的,建议使用Chrome插件形式,非常方便。
注意
如果状态为红色无法连接,可能是安全策略限制,找到config/elasticsearch.yml,加入以下内容,再重启es试试。http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE
http.cors.allow-headers:"X-Requested-With, Content-Type, Content-Length, X-User"
安装 Kibana
Kibana 是一个为 Logstash 和 ElasticSearch 提供的日志分析的 Web接口。可使用它对日志进行高效的搜索、可视化、分析等各种操作。
这里安装Kibana,是要使用其中的dev tool,更方便地进行对ES的各种调试。
地址:https://www.elastic.co/downloads/past-releases
注意
Kibana需要和ES版本一致,本教程中使用5.1.1,因此需要在页面中找到5.1.1版本的Kibana进行下载。
解压后在bin下,找到kibana运行。运行后,打开 http://localhost:5601 ,看到如下界面,表示kibana已经正常运行。
切换到Dev Tools页面,左侧输入请求,右侧显示返回结果,便于调试。
以上就是ES环境配置的说明,需要安装的部分较多,也较为零散,需要耐心一点进行配置。