From 4be007aade6e23778e86e3b4f216059fd1bf693e Mon Sep 17 00:00:00 2001 From: evgeniy-st Date: Wed, 18 Sep 2019 16:05:42 +0300 Subject: [PATCH] ES: geo spatial filter --- apps/search_indexes/views.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/apps/search_indexes/views.py b/apps/search_indexes/views.py index 52a99470..eefcb84c 100644 --- a/apps/search_indexes/views.py +++ b/apps/search_indexes/views.py @@ -1,7 +1,8 @@ """Search indexes app views.""" from rest_framework import permissions from django_elasticsearch_dsl_drf import constants -from django_elasticsearch_dsl_drf.filter_backends import FilteringFilterBackend +from django_elasticsearch_dsl_drf.filter_backends import (FilteringFilterBackend, + GeoSpatialFilteringFilterBackend) from django_elasticsearch_dsl_drf.viewsets import BaseDocumentViewSet from django_elasticsearch_dsl_drf.pagination import PageNumberPagination from search_indexes import serializers, filters @@ -47,6 +48,7 @@ class EstablishmentDocumentViewSet(BaseDocumentViewSet): filter_backends = [ FilteringFilterBackend, filters.CustomSearchFilterBackend, + GeoSpatialFilteringFilterBackend, ] search_fields = ( @@ -96,3 +98,12 @@ class EstablishmentDocumentViewSet(BaseDocumentViewSet): 'field': 'collections.collection_type' }, } + + geo_spatial_filter_fields = { + 'location': { + 'field': 'address.location', + 'lookups': [ + constants.LOOKUP_FILTER_GEO_BOUNDING_BOX, + ] + } + }