前言
ignore_above是Mapping parameters中一个参数,其作用主要是控制,当字段内容超过一定后是否还需要被索引。
案例说明
建立一个索引,设置ignore_above为10
PUT emp
{
"mappings": {
"properties": {
"name": {
"type": "keyword",
"ignore_above": 10
}
}
}
}
插入两条数据,一条长度为10个字符
PUT emp/_doc/1
{
"name": "abcdeabced"
}
一条长度为11个字符
PUT emp/_doc/2
{
"name": "abcdeabcedz"
}
结果
“abcdeabced”可以查到结果
GET /emp/_search
{
"query": {
"term": {
"name": {
"value": "abcdeabced"
}
}
}
}
“abcdeabcedz”查不到结果
GET /emp/_search
{
"query": {
"term": {
"name": {
"value": "abcdeabcedz"
}
}
}
}
但是文档还是会存储的
GET /emp/_search
{
"aggs": {
"names": {
"terms": {
"field": "name"
}
}
}
}
结论
文档会被存储,但长度超过ignore_above设置的字段将不会被索引或存储。
|