ElasticSearch5.6.1 + 中文分词(IK)

 

在安装ElasticSearch 需要先安装java 的 jdk

可以通过  命令来确认是否已经安装了

java -version

如果没有安装可以使用 yum 直接安装通过。

先通过命令查看yum源中的 jdk版本

yum list |grep java |grep jdk

 

然后通过yum安装

yum install -y java-1.8.0-openjdk

ElasticSearch安装

官网:https://www.elastic.co

1.ElasticSearch安装

1.1.下载tar包安装

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.1.tar.gz
tar -xzf elasticsearch-5.6.1.tar.gz 

1.2.配置

先将解压后的目录文件移动到 /usr/share/elasticsearch 目录

mkdir /usr/share/elasticsearch #建立目录
mv ./elasticsearch-5.6.1/* /usr/share/elasticsearch/ 移动目录

进入config

cd /usr/share/elasticsearch/config

先配置 jvm.options

vim ./jvm.options

有一项 

-Xms2g
-Xmx2g

这个设置  因为是虚拟机所以设置小一点 如下:

设置外网访问  

 vim elasticsearch.yml

如图 设置箭头的两个设置 为  0.0.0.0

 

 1.3.启动

cd /usr/share/elasticsearch/config
./elasticsearch

发现启动失败

因为elasticsearch默认是不允许通过root用户启动的

解决方式建立一个es用户 通过es用户启动

useradd es
passwod es #设置密码
cd /usr/share/
chown  -Rf es:es ./elasticsearch #设置所属用户
su es #切换用户
./elasticsearch/bin/elasticsearch

启动还是失败

错误提示:

解决方式 

切换回root用户设置limits.conf  和 sysctl.conf

  这两个配置

vim /etc/security/limits.conf 

在加入

* soft nofile 65536

* hard nofile 131072

* soft nproc 2048

* hard nproc 4096

编辑sysctl.conf 

vim /etc/sysctl.conf

在最后加入

vm.max_map_count=262144

再次切换回es用户 启动   -d 标示后台运行

su es
/usr/share/elasticsearch/bin/elasticsearch -d

 

 

启动后访问curl  localhost:9200  得到

{
"name" : "kfxmWFv",
"cluster_name" : "my-application",
"cluster_uuid" : "K04PdttQSpm1XCLRJIJXsA",
"version" : {
"number" : "5.6.1",
"build_hash" : "667b497",
"build_date" : "2017-09-14T19:22:05.189Z",
"build_snapshot" : false,
"lucene_version" : "6.6.1"
},
"tagline" : "You Know, for Search"
}

2 安装ik中文分词插件

2.1es5.5.1已上可以直接通过命令就可以安装了

/usr/share/elasticsearch/bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.6.1/elasticsearch-analysis-ik-5.6.1.zip

 

 

 重新启动 es   在安装时es是要关闭的。

2.2 将ik 插件 安装到 ElasticSearch中

创建索引m8:为索引(m8)及类型(logs)下的字段(message)设置分词器(分词器可选ik_smart或ik_max_word):

 

http put localhost:9200/m8 -d '{
    "settings" : {
        "analysis" : {
            "analyzer" : {
                "ik" : {
                    "tokenizer" : "ik_smart"
                }
            }
        }
    },
    "mappings" : {
        "logs" : {
            "dynamic" : true,
            "properties" : {
                "message" : {
                    "type" : "string",
                    "analyzer" : "ik_smart"
                }
            }
        }
    }
}'

如果提示http put不存在看下面

案例

http://localhost:9200/m8/_analyze?analyzer=ik_max_word&text=南京市长江大桥

结果

参数说明:

ik_max_word: 会将文本做最细粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,中华人民,中华,华人,人民共和国,人民,人,民,共和国,共和,和,国国,国歌”,会穷尽各种可能的组合;

ik_smart: 会做最粗粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,国歌”。

 

http put不存在问题:

yum install httpie

 转载请注明来源 http://www.cnblogs.com/phpshen/p/6085274.html


posted @ 2016-11-21 14:17  奋进程序猿  阅读(13030)  评论(3编辑  收藏  举报