From 5a014ca7fe87e0c4027fb1040744f7e9c2a55434 Mon Sep 17 00:00:00 2001 From: Kuroshini Date: Wed, 16 Oct 2019 14:11:07 +0300 Subject: [PATCH] Fix some product search issues --- apps/search_indexes/serializers.py | 8 ++++++-- apps/search_indexes/views.py | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/apps/search_indexes/serializers.py b/apps/search_indexes/serializers.py index f926ff55..a26b80fc 100644 --- a/apps/search_indexes/serializers.py +++ b/apps/search_indexes/serializers.py @@ -39,7 +39,8 @@ class ProductSubtypeDocumentSerializer(serializers.Serializer): id = serializers.IntegerField() name_translated = serializers.SerializerMethodField() - get_name_translated = lambda obj: get_translated_value(obj.name) + def get_name_translated(self, obj): + return get_translated_value(obj.name) class WineRegionCountryDocumentSerialzer(serializers.Serializer): @@ -64,6 +65,9 @@ class WineRegionDocumentSerializer(serializers.Serializer): name = serializers.CharField() country = WineRegionCountryDocumentSerialzer(allow_null=True) + def get_attribute(self, instance): + return instance.wine_region if instance and instance.wine_region else None + class WineColorDocumentSerializer(serializers.Serializer): """Wine color ES document serializer,""" @@ -211,7 +215,7 @@ class ProductDocumentSerializer(DocumentSerializer): """Product document serializer""" tags = TagsDocumentSerializer(many=True) - subtypes = ProductSubtypeDocumentSerializer(many=True) + subtypes = ProductSubtypeDocumentSerializer(many=True, allow_null=True) wine_region = WineRegionDocumentSerializer(allow_null=True) wine_colors = WineColorDocumentSerializer(many=True) product_type = ProductTypeDocumentSerializer(allow_null=True) diff --git a/apps/search_indexes/views.py b/apps/search_indexes/views.py index 85bd7c01..dcc6f895 100644 --- a/apps/search_indexes/views.py +++ b/apps/search_indexes/views.py @@ -89,6 +89,8 @@ class EstablishmentDocumentViewSet(BaseDocumentViewSet): search_fields = { 'name': {'fuzziness': 'auto:2,5', 'boost': 4}, + 'transliterated_name': {'fuzziness': 'auto:2,5', + 'boost': 3}, 'description': {'fuzziness': 'auto:2,5'}, } translated_search_fields = (