ElasticSearch分为Linux和Window版本,基于我们主要学习的是ElasticSearch的Java客户端的使用,所以我们是安装较为简便的Window版本,项目上线后,公司的运维人员会安装Linux版的ES供我们连接使用
文章目录
1. 安装与启动ElasticSearch
ElasticSearch的官方地址: ElasticSearch 官网下载地址,根据你自己的需求下载对应版本,本案例使用5.6.8版本
安装ES
Window版的ElasticSearch的安装很简单,类似Window版的Tomcat,解压开即安装完毕,解压后的ElasticSearch的目录结构如下
修改elasticsearch配置文件:config / elasticsearch.yml,增加以下两句命令:
# 允许跨域访问设置
http.cors.enabled: true
http.cors.allow-origin: "*"
启动ES服务
点击ElasticSearch下的bin目录下的elasticsearch.bat启动,控制台显示的日志信息如下
通过浏览器访问ElasticSearch服务器,看到如下返回的json信息,代表服务启动成功
如果启动过程遇见报错 : access denied (“javax.management.MBeanTrustPermission” “register”
找到文件: jdk1.8.0_101/jre/lib/security/java.policy
添加如下语句
permission javax.management.MBeanTrustPermission "register";
2. 安装ES的图形化界面插件
ElasticSearch不同于Solr自带图形化界面,我们可以通过安装ElasticSearch的head插件,完成图形化界面的效果,完成索引数据的查看。安装插件的方式有两种,在线安装和本地安装。本文档采用本地安装方式进行head插件的安装。elasticsearch-5-*以上版本安装head需要安装node和grunt
- 下载head插件 : https://github.com/mobz/elasticsearch-head
- 将head压缩包解压到任意目录,但是要和elasticsearch的安装目录区别开,保持在同一层目录即可
- 下载nodejs:https://nodejs.org/en/download/
- 双击nodejs安装程序,一路next即可,可以换安装路径
5. 将grunt安装为全局命令 ,Grunt是基于Node.js的项目构建工具
在cmd控制台使用管理员权限运行,执行如下命令
npm install -g grunt -cli
执行结果如下图
6. 修改 elasticsearch-head-master\Gruntfile.js文件,在97行处添加如下内容
hostname : '*',
7. 进入elasticsearch-head-master 根目录启动cmd,在命令提示符下输入命令
# 执行下载命令
npm install
# 每次都要执行这个命令才可以启动,你也可以在目录下创建个.bat文件 里面写上这句话
grunt server
8. 打开浏览器,输入 http://localhost:9100,看到如下页面:
3. 安装IK分词器
github下载地址: https://github.com/medcl/elasticsearch-analysis-ik/tags
- 把下载后的文件改名为IK
- 将IK文件夹拷贝到
elasticsearch/plugins
目录下 - 重新启动ES,即可加载IK分词器
3.1 测试IK分词器
- IK提供了两个分词算法
ik_smart 和 ik_max_word
- 其中 ik_smart 为最少切分,ik_max_word为最细粒度划分
最少切分-在浏览器地址栏输入地址 :
http://127.0.0.1:9200/_analyze?analyzer=ik_smart&pretty=true&text=我是程序员
最细切分-在浏览器地址栏输入地址 :
http://127.0.0.1:9200/_analyze?analyzer=ik_max_word&pretty=true&text=我是程序员
3.2 自定义词库
测试 三梦一田 分词结果
http://127.0.0.1:9200/_analyze?analyzer=ik_smart&pretty=true&text=三梦一田
默认的分词并没有识别“三梦一田”是一个词。如果我们想让系统识别三梦一田是一个词,需要编辑自定义词库
1. 进入elasticsearch/plugins/ik/config
目录
2. 新建一个 my.dic
文件,编辑内容:
注意:文件保存编码为 UTF-8,不然不生效
3. 修改IKAnalyzer.cfg.xml(在ik/config目录下)
4. 重启ES,测试分词结果
4. Head-master操作ES
4.1 新建索引 index1
概览-> 刷新 可以看到新建成功
4.2 添加Type与文档
需求: 在index1 索引下创建 user ,并添加数据
提交方式选择POST --> 编写Json数据 --> 提交请求
只需要请求后面加上ID就能添加自定义ID
4.3 查询数据
4.3.1 查询所有
输入请求,搜索条件为 _search, 请求方式为GET
也可以在数据浏览中查看
4.3.2 条件查询
条件中添加 : _search?q=字段:匹配值,提交方式为GET
4.3.3 模糊查询
条件中添加 : _search?q=字段:*匹配值*
,提交方式为GET
4.4 修改数据
PUT方式提交就是修改,把要修改数据的ID加在地址中
修改成功
4.5 删除数据
DELETE请求加ID就可以删除