From 693edc3ca70a85bd133cb6e968a01dc36784a456 Mon Sep 17 00:00:00 2001 From: Seth Michael Larson Date: Wed, 2 Dec 2020 10:35:12 -0600 Subject: [PATCH] Add support for 'constant_keyword' --- elasticsearch_dsl/field.py | 4 ++++ test_elasticsearch_dsl/test_field.py | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/elasticsearch_dsl/field.py b/elasticsearch_dsl/field.py index 6a1ed992a..6e79b4077 100644 --- a/elasticsearch_dsl/field.py +++ b/elasticsearch_dsl/field.py @@ -316,6 +316,10 @@ class Keyword(Field): name = "keyword" +class ConstantKeyword(Keyword): + name = "constant_keyword" + + class Boolean(Field): name = "boolean" _coerce = True diff --git a/test_elasticsearch_dsl/test_field.py b/test_elasticsearch_dsl/test_field.py index 9c0c40237..2e8ec9689 100644 --- a/test_elasticsearch_dsl/test_field.py +++ b/test_elasticsearch_dsl/test_field.py @@ -172,6 +172,11 @@ def test_binary(): assert f.deserialize(None) is None +def test_constant_keyword(): + f = field.ConstantKeyword() + assert f.to_dict() == {"type": "constant_keyword"} + + def test_object_dynamic_values(): for dynamic in True, False, "strict": f = field.Object(dynamic=dynamic)