es创建索引设置字段不分词_ElasticSearch6设置某个字段不分词

本文介绍了在ElasticSearch 6.x版本中遇到字段不分词问题的解决方案,根据官方文档,从string类型转换为keyword类型,以确保能够正确创建索引并进行不分词搜索。通过修改映射(mappings)中的字段类型,可以避免错误并实现对productID字段的完整值匹配查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在学习ElasticSearch官方文档过程中发现的某个问题,记录一下 希望能帮助到后面的朋友

先说结论:字段类型更改为 ‘keyword‘

elasticSearch官方文档中创建index代码如下

PUT /my_store

{"mappings": {"products": {"properties": {"productID": {"type" : "string","index" : "not_analyzed"}

}

}

}

}

由于es官方文档版本基于2.x编写,而本人安装版本为6.6 在执行如上代码过程中出现如下错误

No handler for type [string] declared on field [productID]

a9b01b3d67a31abb225302014f312ac7.png

这里报错是因为ElasticSearch5.x以上版本没有string类型了,换成了text和keyword作为字符串类型。

字符串 - text:用于全文索引,该类型的字段将通过分词器进行分词,最终用于构建索引

字符串 - keyword:不分词,只能搜索该字段的完整的值,只用于 filtering

此时我们将文档中代码更改为如下

PUT /my_store

{"mappings": {"products": {"properties": {"productID": {"type" : "keyword","index": true}

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值