Elasticsearch 6.8.13 安装中文分词器ik

安装Elasticsearch (已成功安装的略过)

使用如下命令可以用docker方式安装Elasticsearch

docker run -d --name elasticsearch  -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:6.8.13 

访问浏览器显示如下,则说明安装成功。

安装分词工具ik

官网

方法1 下载压缩包安装

下载网址:https://github.com/medcl/elasticsearch-analysis-ik/releases

下载后上传宿主机位置:/home/infoadmin/elasticsearch-analysis-ik-6.8.13.zip

如下命令拷贝宿主机文件到容器内:

docker cp /home/infoadmin/elasticsearch-analysis-ik-6.8.13.zip elasticsearch:/usr/share/elasticsearch/plugins/ik

 进入容器:

docker exec -it elasticsearch bash

 解压:

 cd /usr/share/elasticsearch/plugins/ik/  && unzip elasticsearch-analysis-ik-6.8.13.zip

 解压之后,不用重启。

方法2 网络安装

进入容器后,输入如下命令:

/usr/share/elasticsearch/bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.8.13/elasticsearch-analysis-ik-6.8.13.zip

注意:网络方式 5.5.1版本以上才支持

我在容器中执行,报错如下。没进一步排查,貌似显示是网络问题。直接使用下载压缩包方式。

验证测试

命令行下 添加名为fenci的map数据:

curl -XPOST http://you_url:9200/index/fenci -H 'Content-Type:application/json' -d'
{
        "properties": {
            "content": {
                "type": "text",
                "analyzer": "ik_max_word",
                "search_analyzer": "ik_smart"
            }
        }
}'

 命令行下 添加2条测试数据

curl -XPOST http://you_url:9200/index/fenci/1 -H 'Content-Type:application/json' -d'
{"content":"美国留给伊拉克的是个烂摊子吗"}
'
curl -XPOST http://you_url:9200/index/fenci/3 -H 'Content-Type:application/json' -d'
{"content":"中韩渔警冲突调查:韩警平均每天扣1艘中国渔船"}
'

命令行下 查询‘’国‘’ 字出现次数。

curl -XPOST http://you_url:9200/index/_search  -H 'Content-Type:application/json' -d'
{
    "query" : { "match" : { "content" : "国" }},
    "highlight" : {
        "pre_tags" : ["<tag1>", "<tag2>"],
        "post_tags" : ["</tag1>", "</tag2>"],
        "fields" : {
            "content" : {}
        }
    }
}'

执行结果:

人生天地之间,若白驹之过郤,忽然而已。 转载请注明出处,谢谢!
原文地址:https://www.cnblogs.com/kala00k/p/14453563.html