From 26867bc2bb954a045b0f39260dbcfb701afd2243 Mon Sep 17 00:00:00 2001 From: Kuroshini Date: Mon, 25 Nov 2019 18:46:47 +0300 Subject: [PATCH] Unlimited facets for search results (cherry picked from commit 1dac727) --- apps/search_indexes/utils.py | 2 ++ apps/search_indexes/views.py | 17 ++++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/apps/search_indexes/utils.py b/apps/search_indexes/utils.py index d30e7de3..d4c4f68a 100644 --- a/apps/search_indexes/utils.py +++ b/apps/search_indexes/utils.py @@ -2,6 +2,8 @@ from django_elasticsearch_dsl import fields from utils.models import get_current_locale, get_default_locale +FACET_MAX_RESPONSE = 9999999 # Unlimited + ALL_LOCALES_LIST = [ 'hr-HR', 'ro-RO', diff --git a/apps/search_indexes/views.py b/apps/search_indexes/views.py index e37d19b3..1cf1d3c2 100644 --- a/apps/search_indexes/views.py +++ b/apps/search_indexes/views.py @@ -8,7 +8,7 @@ from django_elasticsearch_dsl_drf.filter_backends import ( ) from elasticsearch_dsl import TermsFacet from django_elasticsearch_dsl_drf.viewsets import BaseDocumentViewSet -from search_indexes import serializers, filters +from search_indexes import serializers, filters, utils from search_indexes.documents import EstablishmentDocument, NewsDocument from search_indexes.documents.product import ProductDocument from utils.pagination import ESDocumentPagination @@ -34,6 +34,9 @@ class NewsDocumentViewSet(BaseDocumentViewSet): 'field': 'tags.id', 'enabled': True, 'facet': TermsFacet, + 'options': { + 'size': utils.FACET_MAX_RESPONSE, + }, }, } @@ -125,11 +128,17 @@ class EstablishmentDocumentViewSet(BaseDocumentViewSet): 'field': 'visible_tags.id', 'facet': TermsFacet, 'enabled': True, + 'options': { + 'size': utils.FACET_MAX_RESPONSE, + }, }, 'wine_region_id': { 'field': 'products.wine_region.id', 'facet': TermsFacet, 'enabled': True, + 'options': { + 'size': utils.FACET_MAX_RESPONSE, + }, } } @@ -285,11 +294,17 @@ class ProductDocumentViewSet(BaseDocumentViewSet): 'field': 'wine_colors.id', 'enabled': True, 'facet': TermsFacet, + 'options': { + 'size': utils.FACET_MAX_RESPONSE, + }, }, 'wine_region_id': { 'field': 'wine_region.id', 'enabled': True, 'facet': TermsFacet, + 'options': { + 'size': utils.FACET_MAX_RESPONSE, + }, }, }