diff --git a/apps/search_indexes/documents/establishment.py b/apps/search_indexes/documents/establishment.py index 51ce065d..8b4e5c3c 100644 --- a/apps/search_indexes/documents/establishment.py +++ b/apps/search_indexes/documents/establishment.py @@ -55,6 +55,27 @@ class EstablishmentDocument(Document): properties=OBJECT_FIELD_PROPERTIES), }, multi=True) + products = fields.ObjectField( + properties={ + 'wine_region': fields.ObjectField(properties={ + 'id': fields.IntegerField(), + 'name': fields.KeywordField(), + 'country': fields.ObjectField(properties={ + 'id': fields.IntegerField(), + 'name': fields.ObjectField(attr='name_indexing', + properties=OBJECT_FIELD_PROPERTIES), + 'code': fields.KeywordField(), + }), + # 'coordinates': fields.GeoPointField(), + 'description': fields.ObjectField(attr='description_indexing', properties=OBJECT_FIELD_PROPERTIES), + }), + 'wine_sub_region': fields.ObjectField(properties={ + 'id': fields.IntegerField(), + 'name': fields.KeywordField(), + }), + }, + multi=True + ) schedule = fields.ListField(fields.ObjectField( properties={ 'id': fields.IntegerField(attr='id'), diff --git a/apps/search_indexes/views.py b/apps/search_indexes/views.py index ad7bf74c..6c8d3cc4 100644 --- a/apps/search_indexes/views.py +++ b/apps/search_indexes/views.py @@ -124,6 +124,20 @@ class EstablishmentDocumentViewSet(BaseDocumentViewSet): constants.LOOKUP_QUERY_IN, ] }, + 'wine_region_id': { + 'field': 'products.wine_region.id', + 'lookups': [ + constants.LOOKUP_QUERY_IN, + constants.LOOKUP_QUERY_EXCLUDE, + ], + }, + 'wine_sub_region_id': { + 'field': 'products.wine_sub_region_id', + 'lookups': [ + constants.LOOKUP_QUERY_IN, + constants.LOOKUP_QUERY_EXCLUDE, + ], + }, 'country_id': { 'field': 'address.city.country.id' },