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/tests/test_field.py b/tests/test_field.py index 9c0c40237..2e8ec9689 100644 --- a/tests/test_field.py +++ b/tests/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)