windows 环境下安装elasticsearch ,ik,head,marvel

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

请求参数 pretty=true
请求体:analyzer=ik_smart&text=中华人民共和国国歌
 

结果: 

 
如果想要粗粒度的分词:则把analyzer的属性换成ik_smart即可
 http://localhost:9200/_analyze
请求参数pretty=true
请求体:analyzer=ik_smart&text=中华 人民共和国国歌
结果:
{ "tokens" : [ { "token" : "中华人民共和国", "start_offset" : 0, "end_offset" : 7, "type" : "CN_WORD", "position" : 0 },
{ "token" : "国歌", "start_offset" : 7, "end_offset" : 9, "type" : "CN_WORD", "position" : 1 } ]}

 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

原文地址:https://www.cnblogs.com/liyafei/p/8527130.html