以下操作均在 kibana 上进行
elasticsearch 版本:7.6.2
kibana 版本:7.6.2
获取当前索引的 mapping 信息
GET /索引名称/_mapping
- 搜索结果
{
"索引名称" : {
"mappings" : {
"properties" : {
"content" : {
"type" : "text"
},
这个索引里面有一个字段,“content”,该字段的类型是 “text”,分词规则没有指定,使用的是默认分词规则,例如:天空很蓝,会被分词为:天、空、很、蓝,这四个字进行匹配搜索。
ps:旧索引的配置信息要留存,后面需要在原配置上进行更改!!!
更换当前索引内字段的类型
- 删除当前索引
DELETE /索引名称
ps:删除时,请及时做好数据备份!!!
- 创建新索引
PUT /索引名称
ps:省略索引内字段初始化步骤。这里创建的索引对应的分词规则还是默认的。创建索引后,不要往索引里面添加数据,否则是无法更改索引字段数据的!!!
- 更改索引内字段分词规则
PUT /索引名称/_mappings
{
"properties": {
"content": {
"type": "text"
# 将分词规则修改为 ik 细粒度分词
, "analyzer": "ik_max_word"
}
# 省略掉的配置...
# 这里的配置都是通过原来的索引获取到的,只是在原来的基础上面调整了分词规则
}
}
- 测试分词规则是否生效
GET /索引名称/_search
{
"size": 0,
"query": {
"match": {
"content": {
"query": "天空很蓝"
}
}
},
"track_total_hits": 2147483647
, "profile": "true" # 该属性,可以获取到当前搜索条件对应的分词信息
}
执行完后的分词结果:天空、很、蓝(content:天空 content:很 content:蓝),成功组词!!!