一.elasticsearch介绍
1.简介(使用的是nosql,更新比mongodb慢):
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
2.elasticsearch服务的优点(搜索功能的需求):
(1)搜索解决方案高效;
(2)零配置和完全免费的搜索方案;
(3)搜索能够简单的通过json和http与搜索引擎(自身)交互;
(4)搜索服务器稳定;
(5)能够简单的将一台服务器扩展到上百台;
(6)分词,打分,解析搜索要求等等。
3.关系型数据库搜索缺点:
(1)无法打分;
(2)无分布式;
(3)无法解析搜索请求;
(4)效率低;
(5)分词。
二.elasticsearch的安装
1.JDK安装(注意版本):
elasticsearch是使用Java开发的,需要安装JDK环境。
2.elaticsearch-rtf安装:
2.1集成了很多插件,如果单独配置elasticsearch会有些麻烦,github上地址:https://github.com/medcl/elasticsearch-rtf,可用git直接clone下来。
文件如上
2.2进入bin目录打开cmd,启动(elasticserach或elasticsearch.bat)提示如下错误,找不到Java位置:
解决方法(参考:https://blog.csdn.net/javakklam/article/details/80070418):
计算有右键-》属性-》更改设置-》高级-》环境变量-》上面一个框,下面一个框,在下面的框进行新建,编辑操作:
(1)新建->变量名"JAVA_HOME",变量值"C:\Program Files\Java\jdk1.8.0_05"(即JDK的安装路径)
(2)编辑->变量名"Path",在原变量值的最后面加上“;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin”
(3)新建->变量名“CLASSPATH”,变量值“.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar”
如图
2.3接着可能如下图错误:内存不足
解决方法:只需修改elasticserach中的文件,将-Xms,Xms后面的内存改小即可:
2.4启动
访问http://127.0.0.1:9200/返回如上
3.head插件和kibana插件安装:
3.1elasticsearch-head安装(管理工具,相当于navaicat的作用):github地址:https://github.com/mobz/elasticsearch-head
clone到本地
3.1.1npm依赖于node.js,需要安装node.js,可用cnpm(淘宝npm镜像),速度快npm install -g cnpm --registry=https://registry.npm.taobao.org
进入clone下的elasticsearch-head目录,安装依赖文件(会生成一个node_modules文件夹):
安装依赖包
生成的文件
启动运行
3.1.2访问效果,显示未连接,但是直接访问9200能访问(前提开启elasticsearch),因为elasticsearch默认代理没有权限访问。解决方法:只需配置config文件夹中的elasticsearch.yml文件(配置文件)如下:
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"
重启连接成功,把接口以界面的形式显示
3.2kibana的安装和简介:下载对应的elasticsearch版本(这里是5.1.1),去官网下载5.1的版本
启动
访问本地5601端口如上
4.吐槽:
下载是真的慢,特别是kibana,这里附我已经下载好了的elasticsearch-head,以及kibana5.1.2版本:
1.elasticsearch-head;
2.kibana5.1.2;
有需要请联系我。