@@ -99,6 +99,37 @@ class Meta:
99
99
],
100
100
)
101
101
102
+ def test_vectorsearch_invalid_similarities_function (self ):
103
+ class Article (models .Model ):
104
+ vector_data = ArrayField (models .DecimalField (), size = 10 )
105
+
106
+ class Meta :
107
+ indexes = [
108
+ VectorSearchIndex (
109
+ fields = ["vector_data" , "vector_data" , "vector_data" ],
110
+ similarities = ["sum" , "dotProduct" , "tangh" ],
111
+ ),
112
+ ]
113
+
114
+ errors = checks .run_checks (app_configs = self .apps .get_app_configs (), databases = {"default" })
115
+ self .assertEqual (
116
+ errors ,
117
+ [
118
+ checks .Error (
119
+ "sum isn't a valid similarity function, "
120
+ "options are cosine, dotProduct, euclidean" ,
121
+ id = "django_mongodb_backend.indexes.VectorSearchIndex.E004" ,
122
+ obj = Article ._meta .indexes [0 ],
123
+ ),
124
+ checks .Error (
125
+ "tangh isn't a valid similarity function, "
126
+ "options are cosine, dotProduct, euclidean" ,
127
+ id = "django_mongodb_backend.indexes.VectorSearchIndex.E004" ,
128
+ obj = Article ._meta .indexes [0 ],
129
+ ),
130
+ ],
131
+ )
132
+
102
133
def test_vectorsearch (self ):
103
134
class Article (models .Model ):
104
135
vector_data = ArrayField (models .DecimalField (), size = 10 )
0 commit comments