From 83153b14c1246734d9e58f4e15ae7703500facfb Mon Sep 17 00:00:00 2001 From: Kuroshini Date: Wed, 16 Oct 2019 14:11:07 +0300 Subject: [PATCH] Add wine_region and wine_sub_region to ES --- apps/search_indexes/documents/product.py | 5 +++- apps/search_indexes/views.py | 34 +++++++++++++----------- 2 files changed, 23 insertions(+), 16 deletions(-) diff --git a/apps/search_indexes/documents/product.py b/apps/search_indexes/documents/product.py index cbd5c645..d6be37a2 100644 --- a/apps/search_indexes/documents/product.py +++ b/apps/search_indexes/documents/product.py @@ -64,7 +64,10 @@ class ProductDocument(Document): # 'coordinates': fields.GeoPointField(), 'description': fields.ObjectField(attr='description_indexing', properties=OBJECT_FIELD_PROPERTIES), }) - wine_sub_region = fields.ObjectField(properties={'name': fields.KeywordField()}) + wine_sub_region = fields.ObjectField(properties={ + 'id': fields.IntegerField(), + 'name': fields.KeywordField(), + }) classifications = fields.ObjectField( # TODO properties={ 'classification_type': fields.ObjectField(properties={}), diff --git a/apps/search_indexes/views.py b/apps/search_indexes/views.py index a9a05d9b..ad7bf74c 100644 --- a/apps/search_indexes/views.py +++ b/apps/search_indexes/views.py @@ -197,21 +197,13 @@ class ProductDocumentViewSet(BaseDocumentViewSet): """Product document ViewSet.""" document = ProductDocument - # lookup_field = 'slug' pagination_class = ProjectMobilePagination permission_classes = (permissions.AllowAny,) serializer_class = serializers.ProductDocumentSerializer - # def get_queryset(self): - # qs = super(ProductDocumentViewSet, self).get_queryset() - # qs = qs.filter('match', is_publish=True) - # return qs - filter_backends = [ FilteringFilterBackend, filters.CustomSearchFilterBackend, - # GeoSpatialFilteringFilterBackend, -# DefaultOrderingFilterBackend, ] search_fields = { @@ -234,14 +226,28 @@ class ProductDocumentViewSet(BaseDocumentViewSet): 'slug': 'slug', 'tags_id': { 'field': 'tags.id', - 'lookups': [constants.LOOKUP_QUERY_IN] + 'lookups': [constants.LOOKUP_QUERY_IN], }, 'wine_colors_id': { 'field': 'wine_colors.id', 'lookups': [ constants.LOOKUP_QUERY_IN, constants.LOOKUP_QUERY_EXCLUDE, - ] + ], + }, + 'wine_region_id': { + 'field': 'wine_region.id', + 'lookups': [ + constants.LOOKUP_QUERY_IN, + constants.LOOKUP_QUERY_EXCLUDE, + ], + }, + 'wine_sub_region_id': { + 'field': 'wine_sub_region_id', + 'lookups': [ + constants.LOOKUP_QUERY_IN, + constants.LOOKUP_QUERY_EXCLUDE, + ], }, 'grape_variety_id': { 'field': 'grape_variety.id', @@ -264,8 +270,6 @@ class ProductDocumentViewSet(BaseDocumentViewSet): 'lookups': [ constants.LOOKUP_QUERY_IN, constants.LOOKUP_QUERY_EXCLUDE, - ] - } - } - # geo_spatial_filter_fields = { - # } \ No newline at end of file + ], + }, + } \ No newline at end of file