elasticsearch 更换索引中字段的分词规则

以下操作均在 kibana 上进行

elasticsearch 版本:7.6.2

kibana 版本:7.6.2

获取当前索引的 mapping 信息

GET /索引名称/_mapping
  • 搜索结果
{
  "索引名称" : {
    "mappings" : {
      "properties" : {
        "content" : {
          "type" : "text"
        },

这个索引里面有一个字段,“content”,该字段的类型是 “text”,分词规则没有指定,使用的是默认分词规则,例如:天空很蓝,会被分词为:天、空、很、蓝,这四个字进行匹配搜索。

ps:旧索引的配置信息要留存,后面需要在原配置上进行更改!!!

更换当前索引内字段的类型

  1. 删除当前索引
DELETE /索引名称

ps:删除时,请及时做好数据备份!!!

  1. 创建新索引
PUT /索引名称

ps:省略索引内字段初始化步骤。这里创建的索引对应的分词规则还是默认的。创建索引后,不要往索引里面添加数据,否则是无法更改索引字段数据的!!!

  1. 更改索引内字段分词规则
PUT /索引名称/_mappings
{
    "properties": {
        "content": {
            "type": "text"
            # 将分词规则修改为 ik 细粒度分词
            , "analyzer": "ik_max_word"
        }
        # 省略掉的配置...
        # 这里的配置都是通过原来的索引获取到的,只是在原来的基础上面调整了分词规则
    }
}
  1. 测试分词规则是否生效
GET /索引名称/_search
{
  "size": 0, 
  "query": {
    "match": {
      "content": {
        "query": "天空很蓝"
      }
    }
  }, 
  "track_total_hits": 2147483647
  , "profile": "true" # 该属性,可以获取到当前搜索条件对应的分词信息
}

执行完后的分词结果:天空、很、蓝(content:天空 content:很 content:蓝),成功组词!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值