curl -XPUT 'localhost:9200/my_index?pretty' -H 'Content-Type: application/json' -d'
{
"mappings": {
"my_type": {
"properties": {
"message": {
"type": "keyword",
"ignore_above": 20 # 1
}
}
}
}
}
'
curl -XPUT 'localhost:9200/my_index/my_type/1?pretty' -H 'Content-Type: application/json' -d' # 2
{
"message": "Syntax error"
}
'
curl -XPUT 'localhost:9200/my_index/my_type/2?pretty' -H 'Content-Type: application/json' -d' # 3
{
"message": "Syntax error with some long stacktrace"
}
'
curl -XGET 'localhost:9200/_search?pretty' -H 'Content-Type: application/json' -d' # 4
{
"aggs": {
"messages": {
"terms": {
"field": "message"
}
}
}
}
tip
ignore_above设置允许在相同索引的相同名称的字段有不同的配置,可以使用PUT mapping API在现有字段上更新其值。
此选项对于防止Lucene term(词条)长度超过32766是有用的.
ignore_above 的值是字符数,但 Lucene 计数的是字节。所以如果你使用具有许多非ASCII字符的UTF-8文本,则可能需要将限制设置为 32766/3 = 10922,因为UTF-8字符可能占用至多3个字节。