ignore_above 含义
在ElasticSearch中keyword类型字段可以设置ignore_above属性(默认是10) ,表示最大的字段值长度,超出这个长度的字段将不会被索引,但是会存储。
测试
设置message 的长度最长为20,超过20的不被索引,这里的不被索引是这个字段不被索引,但是该document中的其他字段仍然可以被索引到。
PUT my_index
{
"mappings": {
"my_type": {
"properties": {
"message": {
"type": "keyword",
"ignore_above": 20
}
}
}
}
}
插入数据:
PUT my_index/my_type/3
{
"message": "123456789"
}
PUT my_index/my_type/5
{
"message": "123456789012345678901"
}
查询测试
-
1)如果你做全部查询是可以查到超过ignore_above的doc的,如下图:
-
2)如果你用模糊匹配是搜索不到的(注意上面的数据最后带个1是21位下图是20位的)
- 3)用精确匹配前面20个仍然搜索不到