Elasticsearch(windows+Linux)
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。
Windows:
1. 配置elasticserarch环境
安装jdk1.8以上,head版本及其他插件与elasticserarch相同(最新6.2.3)
注意事项:
l es版本6.x以上为优
l 插件或版本与es版本相同更具功能兼容和防止出错
l 图形化界面 elasticserarch-head
l 分词器 ik
l Yml配置参数连接集群:(config目录下)
http.cors.enabled: true
http.cors.allow-origin: "*"
l 嵌入式客户端
l Es增删改查操作
l Es索引文档
l 索引高亮效果显示
2. 启动
注册elasticserarch服务
ElasticSearch的bin目录,*service.bat install
启动head和es服务
Head目录下npm run start
http://localhost:9100 (head图像化界面)
http://localhost:9200 (es安装环境检测)
问题:head出现未连接集群问题
解决:yml配置head定向权限参数
插件存放问题:pluga空间建立文件夹,不能直接解压会导致插件覆盖错乱
3. Ik分词器
添加了IK插件可以使用ik_smart(最粗粒度的拆分)和ik_max_word(最细粒度的拆分)两种analyzer(分析器)。支持自定义分词,支持热更新
安装1:./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.2.3/elasticsearch-analysis-ik-6.2.3.zip (插件安装)
安装2:下载解压至your-es-root/plugins/ (暂时问题很多)
问题:无法识别iK
1. 检测es完整性
2. 检测plugin库完整性
3. 包完整性
4. 兼容性
使用检测:http://ip:9200/demo
Post
{“analyzer”:”ik_smart”,”text”:”这里是智能产品部门,地址阿里巴巴广场”}
4. java使用(IDEA java)
Maven项目:添加依赖,同步后自动下载包后可使用
仓库依赖:注意各个es版本依赖不同
开发版本:elasticsearch6.2.3
Maven项目依赖模式:
<dependency>
<groupId>org.elasticsearchgroupId>
<artifactId>elasticsearchartifactId>
<version>6.2.3version>
dependency>
<dependency>
<groupId>org.elasticsearch.clientgroupId>
<artifactId>transportartifactId>
<version>6.2.3version>
dependency>
Linux:
1. 配置elasticserarch环境
注意:
配置环境,Es6.x以上不允许root用户启动
安装nodejs和rpm(略)
增加用户:es 设置密码1~0
1. groupadd es
2. useradd es -g es
3. passwd es
设置yum参数(es下config目录)原因:让它支持外网和加入集群
1. cluster.name: my-application #集群名称,可以自行修改
2. node.name: linux-2 #节点名称,自行修改
3. network.host: 172.16.1.177 #主机地址,这里写本机IP
4. http.port: 9200 #端口
用root用户给es添加端口权限(root权限下)
vim /etc/security/limits.conf
1. es soft nofile 65536
2.
3. es hard nofile 131072
4.
5. es soft nproc 4096
6.
7. es hard nproc 4096
设置head参数
vim Gruntfile.js文件增加或者修改
1. Add hostname connect: {
2. server: {
3. options: {
4. hostname: '0.0.0.0',
5. port: 9100,
6. base: '.',
7. keepalive: true
8. }
9. }
10. }
2. 检测配置问题(前提是es和head启动后)
主机ip:9100 (检测ES是否成功)
主机 ip:9200 (检测head是否对接成功)
3. 启动
窗口保活启动(es窗口和head窗口)
Es启动:./bin/elasticsearch (es主目录下启动)
Head启动:./node_modules/grunt/bin/grunt server(head主目录下启动)
注册服务自启动(注册服务自动启动)
4. IK分词器(未安装,同理,配置)
5. Java端引用ES功能
只是服务器端不同,其他事调用也就一个hosts地址的问题,可以用log4j打印测试连接,本地java连接es,maven项目下成功!