elasticsearch:在Map中定义字段词汇表

oyxsuwqo  于 2021-06-10  发布在  ElasticSearch
关注(0)|答案(1)|浏览(269)

有没有办法(在Map中)为字段定义一组可能的值?
下面我举了一个例子,说明如何在句法上做到这一点,但这并不可能。

"mappings": {
    "properties": {
        "from_ID": {
            "type": "keyword"
        },
        "to_ID": {
            "type": "keyword"
        },
        "property": {
            "type": "keyword",
            "values": ["a","b","c"]
        }
    }
}
k97glaaz

k97glaaz1#

正如你已经猜到的,一条管道就可以了。最简单的版本可能是:

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)"
      }
    }
  ]
}

相关问题