diff --git a/django_elasticsearch_dsl/fields.py b/django_elasticsearch_dsl/fields.py index 2652b68..7c803c1 100644 --- a/django_elasticsearch_dsl/fields.py +++ b/django_elasticsearch_dsl/fields.py @@ -15,6 +15,7 @@ Byte, Completion, Date, + DenseVector, Double, Field, Float, @@ -201,6 +202,10 @@ class FloatField(DEDField, Float): pass +class DenseVectorField(DEDField, DenseVector): + pass + + class ScaledFloatField(DEDField, ScaledFloat): pass diff --git a/docs/source/fields.rst b/docs/source/fields.rst index 40773e0..91f2963 100644 --- a/docs/source/fields.rst +++ b/docs/source/fields.rst @@ -217,6 +217,7 @@ Available Fields - ``DoubleField(attr=None, **elasticsearch_properties)`` - ``FileField(attr=None, **elasticsearch_properties)`` - ``FloatField(attr=None, **elasticsearch_properties)`` + - ``DenseVectorField(attr=None, **elasticsearch_properties)`` - ``IntegerField(attr=None, **elasticsearch_properties)`` - ``IpField(attr=None, **elasticsearch_properties)`` - ``KeywordField(attr=None, **elasticsearch_properties)`` diff --git a/tests/test_fields.py b/tests/test_fields.py index edcffe8..b3b0d34 100644 --- a/tests/test_fields.py +++ b/tests/test_fields.py @@ -12,7 +12,7 @@ from django_elasticsearch_dsl.exceptions import VariableLookupError from django_elasticsearch_dsl.fields import (BooleanField, ByteField, CompletionField, DEDField, DateField, DoubleField, FileField, FloatField, - GeoPointField, + DenseVectorField, GeoPointField, GeoShapeField, IntegerField, IpField, KeywordField, ListField, LongField, NestedField, ObjectField, ScaledFloatField, ShortField, TextField @@ -349,6 +349,15 @@ def test_get_mapping(self): }, field.to_dict()) +class FloatFieldTestCase(TestCase): + def test_get_mapping(self): + field = DenseVectorField() + + self.assertEqual({ + 'type': 'float', + }, field.to_dict()) + + class ScaledFloatFieldTestCase(TestCase): def test_get_mapping(self): field = ScaledFloatField(scaling_factor=100)