elasticsearch 自带的中分分词器将会使中文分成一个一个的单词,需要安装ik分词等,ik分词分为 ik_smart(粗粒度分词),ik_max_word(细粒度分词)两种模式。
1:首先安装elasticsearch:官网下载elasticsearch zip版本 https://www.elastic.co/downloads/elasticsearch
2:解压下载的zip包,启动elasticsearch,有两种方式:
2.1:进入解压文件的bin目录,双击执行elasticsearch.bat
进入 http://localhost:9200 ,出现以下页面,说明安装成功。
按Ctrl+c停止
2.2: 安装成windows服务,进入bin命令行界面下,执行可执行程序elasticsearch-service-x64.exe,即成为系统服务
3:安装head插件,在网页上管理、监视集群的状态,elasticsearch-head是一个界面化的集群操作和管理工具,有三种方法
第一种方法
3.1 5.0版本以前 通过elasticsearch 的plugin插件进行安装,解压放置到plugins目录下的head(没有则新建)目录下面即可:https://github.com/mobz/elasticsearch-head
第二种方法
3.2 5.0以后不支持命令行安装,需要安装node.js等支持。安装方法 http://blog.csdn.net/qq3401247010/article/details/78742524
第三种方法
3.3 直接在chrome浏览器中添加head插件
访问:https://github.com/mobz/elasticsearch-head 安装chrome扩展插件
elasticsearch集群信息如下:
4: 安装ik分词插件 ,
ik分词可以将前端要查询的文本进行分词,然后用分过的词在es中查询。
首先在git上下载已经编译好的代码,一定要选择和自己的es版本对应,否则无法启动服务,git下载地址如下:
https://github.com/medcl/elasticsearch-analysis-ik/releases
然后把文件解压的内容放在es的plugins的ik目录下,如果没有此目录,则新建。
最后在es的conf中elasticsearch.yml文件末尾中加入
http.cors.enabled: true
http.cors.allow-origin: "*"
#index.analysis.analyzer.ik.type: "ik " , 5.0 版本以后不允许配置以index开头的配置,ik分为ik_smart和ik_max_word,在查询时指定。
测试分词插件是否可以分词:
使用postman 模拟浏览器输入:参考: http://www.cnblogs.com/liyafei/p/8530522.html
http://localhost:9200/_analyze
结果:
5:在windows上搭建集群 http://blog.csdn.net/u014236259/article/details/64129918
5.1 复制三份elasticsearch解压文件,
5.2 修改配置文件 config/elasticsearch.yml
5.3
节点1的配置信息:
cluster.name: my-esLearn #集群名称,保证唯一
node.name: node-1 #节点名称,必须不一样
network.host: 192.168.13.198 #必须为本机的ip地址
http.port: 9200 #服务端口号,在同一机器下必须不一样
transport.tcp.port: 9300 #集群间通信端口号,在同一机器下必须不一样
#设置集群自动发现机器ip集合
discovery.zen.ping.unicast.hosts: ["192.168.13.198:9300", "192.168.13.198:9301", "192.168.13.198:9302"] 节点2的配置信息:
cluster.name: my-esLearn #集群名称,保证唯一
node.name: node-2 #节点名称,必须不一样
network.host: 192.168.13.198 #必须为本机的ip地址
http.port: 9201 #服务端口号,在同一机器下必须不一样
transport.tcp.port: 9301 #集群间通信端口号,在同一机器下必须不一样
#设置集群自动发现机器ip集合
discovery.zen.ping.unicast.hosts: ["192.168.13.198:9300", "192.168.13.198:9301", "192.168.13.198:9302"] 节点3的配置信息:
cluster.name: my-esLearn #集群名称,保证唯一
node.name: node-3 #节点名称,必须不一样
network.host: 192.168.13.198 #必须为本机的ip地址
http.port: 9202 #服务端口号,在同一机器下必须不一样
transport.tcp.port: 9302 #集群间通信端口号,在同一机器下必须不一样
#设置集群自动发现机器ip集合
discovery.zen.ping.unicast.hosts: ["192.168.13.198:9300", "192.168.13.198:9301", "192.168.13.198:9302"]
5.4依次启动各个节点下的 elasticsearch.bat
打开head
参考:http://blog.csdn.net/xiedongdong1/article/details/52848645
elasticsearch文档:https://www.elastic.co/guide/cn/elasticsearch/guide/current/intro.html
elasticsearch 英文文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html