From 8e0b19b8b04953091751ec9b5caefad148ad8ed6 Mon Sep 17 00:00:00 2001 From: evgeniy-st Date: Wed, 18 Sep 2019 16:40:07 +0300 Subject: [PATCH] ES. Establishment type & subtypes --- .../search_indexes/documents/establishment.py | 23 +++++++++++++++---- apps/search_indexes/serializers.py | 2 ++ apps/search_indexes/views.py | 6 +++++ 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/apps/search_indexes/documents/establishment.py b/apps/search_indexes/documents/establishment.py index f5305991..8c96066e 100644 --- a/apps/search_indexes/documents/establishment.py +++ b/apps/search_indexes/documents/establishment.py @@ -16,6 +16,19 @@ class EstablishmentDocument(Document): description = fields.ObjectField(attr='description_indexing', properties=OBJECT_FIELD_PROPERTIES) + establishment_type = fields.ObjectField( + properties={ + 'id': fields.IntegerField(), + 'name': fields.ObjectField(attr='name_indexing', + properties=OBJECT_FIELD_PROPERTIES) + }) + establishment_subtypes = fields.ObjectField( + properties={ + 'id': fields.IntegerField(), + 'name': fields.ObjectField(attr='name_indexing', + properties=OBJECT_FIELD_PROPERTIES) + }, + multi=True) tags = fields.ObjectField( properties={ 'id': fields.IntegerField(attr='metadata.id'), @@ -55,10 +68,12 @@ class EstablishmentDocument(Document): ), } ) - collections = fields.ObjectField(properties={ - 'id': fields.IntegerField(attr='collection.id'), - 'collection_type': fields.IntegerField(attr='collection.collection_type'), - }) + collections = fields.ObjectField( + properties={ + 'id': fields.IntegerField(attr='collection.id'), + 'collection_type': fields.IntegerField(attr='collection.collection_type'), + }, + multi=True) class Django: diff --git a/apps/search_indexes/serializers.py b/apps/search_indexes/serializers.py index e81535ec..e6950bdd 100644 --- a/apps/search_indexes/serializers.py +++ b/apps/search_indexes/serializers.py @@ -61,6 +61,8 @@ class EstablishmentDocumentSerializer(DocumentSerializer): 'tags', 'address', 'collections', + 'establishment_type', + 'establishment_subtypes', ) @staticmethod diff --git a/apps/search_indexes/views.py b/apps/search_indexes/views.py index eefcb84c..1547fd9d 100644 --- a/apps/search_indexes/views.py +++ b/apps/search_indexes/views.py @@ -97,6 +97,12 @@ class EstablishmentDocumentViewSet(BaseDocumentViewSet): 'collection_type': { 'field': 'collections.collection_type' }, + 'establishment_type': { + 'field': 'establishment_type.id' + }, + 'establishment_subtypes': { + 'field': 'establishment_subtypes.id' + }, } geo_spatial_filter_fields = {