From 67015aa23523c64aeb5f5d8c60df82c42e95f255 Mon Sep 17 00:00:00 2001 From: Bo Peng Date: Sun, 20 Oct 2024 23:41:07 -0500 Subject: [PATCH 1/2] add DenseVectorField --- django_elasticsearch_dsl/fields.py | 3 +++ docs/source/fields.rst | 1 + tests/test_fields.py | 10 +++++++++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/django_elasticsearch_dsl/fields.py b/django_elasticsearch_dsl/fields.py index 2652b68e..3ec5f244 100644 --- a/django_elasticsearch_dsl/fields.py +++ b/django_elasticsearch_dsl/fields.py @@ -15,6 +15,7 @@ Byte, Completion, Date, + DenseVector, Double, Field, Float, @@ -200,6 +201,8 @@ class DoubleField(DEDField, Double): 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 40773e0d..91f2963f 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 edcffe89..207857b1 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 @@ -348,6 +348,14 @@ def test_get_mapping(self): 'type': 'float', }, 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): From 9e1b98f26e49bd0fa2d37c884805cd602dd98878 Mon Sep 17 00:00:00 2001 From: Bo Peng Date: Mon, 21 Oct 2024 00:24:33 -0500 Subject: [PATCH 2/2] adjust space --- django_elasticsearch_dsl/fields.py | 2 ++ tests/test_fields.py | 1 + 2 files changed, 3 insertions(+) diff --git a/django_elasticsearch_dsl/fields.py b/django_elasticsearch_dsl/fields.py index 3ec5f244..7c803c11 100644 --- a/django_elasticsearch_dsl/fields.py +++ b/django_elasticsearch_dsl/fields.py @@ -201,9 +201,11 @@ class DoubleField(DEDField, Double): class FloatField(DEDField, Float): pass + class DenseVectorField(DEDField, DenseVector): pass + class ScaledFloatField(DEDField, ScaledFloat): pass diff --git a/tests/test_fields.py b/tests/test_fields.py index 207857b1..b3b0d347 100644 --- a/tests/test_fields.py +++ b/tests/test_fields.py @@ -348,6 +348,7 @@ def test_get_mapping(self): 'type': 'float', }, field.to_dict()) + class FloatFieldTestCase(TestCase): def test_get_mapping(self): field = DenseVectorField()