elasticsearch5.5.2手动创建索引并配置ik中文分词器

首先,为什么要手动创建索引配置mapping?

虽然es可以自己创建索引(直接在对应的索引index和Type中插入数据,es会根据插入的数据自己匹配类型),但是es自己创建的索引,对于text的类型的都是进行standard分词的,这个分词器对于英文来说是很好的,但是对于中文来说就有点不实用了,大多数情况下他会把每一个中文汉字进行分词。对于中文有很好分词效果的可以选用ik分词器,但是这个分词器,默认的elasticsearch中是没有的,需要自己安装,在安装完成以后,我们可以通过手动创建索引来配置这个ik分词器(目前我能想到的就是这个方法,本人初学者),我们可以通过Google浏览器的postman插件或者kibanna来手动创建index配置mapping,因为这两个工具对我们写json还是很容易的,废话不多说,开整!

一、在elasticsearch安装

ik中文分词器插件,ik中文分词器的版本需要和你的elasticsearch的版本一致

1.下载ik分词器插件

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

在这个我们可以选择对应es版本的ik分词器,这里我们下载的是ik分词器的插件


2.安装ik分词器插件

2.1将我们下载好的ik分词器的zip进行解压,

2.2在elasticsearch的plugins目录下创建analysis-ik文件夹

2.3将解压后的文件放到elasticsearch的铺放到analysis中


二、手动创建索

1.进行创建(我这里借助的是Google的浏览器的插件postman)


{
	"settings":{
		 "analysis" : {
            "analyzer" : {
                "ik" : {
                    "tokenizer" : "ik_max_word"
                }
            }
        }
	},
	"mappings":{
		"content":{
			"_all": {
                "enabled": false
            },
		"properties":{
			"id":{
				"type":"keyword"
			},
			"catid":{
				"type":"keyword"
			},
			"classify":{
				"type":"integer"
			},
			"title":{
				"type":"text",
				"analyzer": "ik_max_word"
			},
			"author":{
				"type":"text",
				"analyzer": "ik_max_word"
			},
			"published":{
				"type":"date"
			},
			"article":{
				"type":"text",
				"analyzer": "ik_max_word"
			}
			}
		}
	}
}

2.注意事项:我们目前是对5.0以上版本进行创建索引,一定要注意和elasticsearch2.X版本区分,不要混用

三、验证我们配置的分词器是否有效果

1.查看我们创建的这个索引的索引信息(可以借助elasticsearch-head-master插件)如下:


2.进行搜索分词测试



四、参考资料

http://blog.163.com/zhu329599788@126/blog/static/66693350201722102138891/

本人初学者,如有错误请大家指正!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值