ES: geo spatial filter

This commit is contained in:
evgeniy-st 2019-09-18 16:05:42 +03:00
parent 3f55e001cc
commit 4be007aade

View File

@ -1,7 +1,8 @@
"""Search indexes app views.""" """Search indexes app views."""
from rest_framework import permissions from rest_framework import permissions
from django_elasticsearch_dsl_drf import constants 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.viewsets import BaseDocumentViewSet
from django_elasticsearch_dsl_drf.pagination import PageNumberPagination from django_elasticsearch_dsl_drf.pagination import PageNumberPagination
from search_indexes import serializers, filters from search_indexes import serializers, filters
@ -47,6 +48,7 @@ class EstablishmentDocumentViewSet(BaseDocumentViewSet):
filter_backends = [ filter_backends = [
FilteringFilterBackend, FilteringFilterBackend,
filters.CustomSearchFilterBackend, filters.CustomSearchFilterBackend,
GeoSpatialFilteringFilterBackend,
] ]
search_fields = ( search_fields = (
@ -96,3 +98,12 @@ class EstablishmentDocumentViewSet(BaseDocumentViewSet):
'field': 'collections.collection_type' 'field': 'collections.collection_type'
}, },
} }
geo_spatial_filter_fields = {
'location': {
'field': 'address.location',
'lookups': [
constants.LOOKUP_FILTER_GEO_BOUNDING_BOX,
]
}
}