Elasticsearch:在映射中定义字段词汇表
Elasticsearch: Define field vocabulary in mapping
有没有办法定义(在映射中)字段的一组可能值?
下面我编写了一个示例,说明如何在语法上完成它 - 并不是说这是可能的。
"mappings": {
"properties": {
"from_ID": {
"type": "keyword"
},
"to_ID": {
"type": "keyword"
},
"property": {
"type": "keyword",
"values": ["a","b","c"]
}
}
}
正如您已经猜到的那样,管道就可以解决问题。最简单的版本可能是:
PUT _ingest/pipeline/enforce_abc
{
"description": "Enforces a, b, or c in 'property'",
"processors": [
{
"drop": {
"if" : "ctx.property == null || !['a', 'b', 'c'].contains(ctx.property)"
}
}
]
}
有没有办法定义(在映射中)字段的一组可能值?
下面我编写了一个示例,说明如何在语法上完成它 - 并不是说这是可能的。
"mappings": {
"properties": {
"from_ID": {
"type": "keyword"
},
"to_ID": {
"type": "keyword"
},
"property": {
"type": "keyword",
"values": ["a","b","c"]
}
}
}
正如您已经猜到的那样,管道就可以解决问题。最简单的版本可能是:
PUT _ingest/pipeline/enforce_abc
{
"description": "Enforces a, b, or c in 'property'",
"processors": [
{
"drop": {
"if" : "ctx.property == null || !['a', 'b', 'c'].contains(ctx.property)"
}
}
]
}