在ElasticSearch中keyword,text类型字段ignore_above属性(动态映射默认是256) ,表示最大的字段值长度,超出这个长度的字段将不会被索引,查询不到,但是会存储。
解决方法1: 通过es api修改mapping
PUT index/_mapping/_doc
{
"properties": {
"subjectDesc": {
"type": "text",
"fields":{
"keyword":{
"type":"keyword",
"ignore_above":512
}
}
}
}
}
解决方式2: 创建索引前,创建动态模版
解决方式3: 创建索引时,代码指定mapping