enable elastic

This commit is contained in:
Dmitriy Kuzmenko 2019-11-16 23:01:22 +03:00
parent ca9843482e
commit b1d176c583
3 changed files with 71 additions and 71 deletions

View File

@ -1 +1 @@
# from search_indexes.signals import update_document
from search_indexes.signals import update_document

View File

@ -1,67 +1,67 @@
# """Search indexes app signals."""
# from django.db.models.signals import post_save
# from django.dispatch import receiver
# from django_elasticsearch_dsl.registries import registry
#
#
# @receiver(post_save)
# def update_document(sender, **kwargs):
# from establishment.models import Establishment
# app_label = sender._meta.app_label
# model_name = sender._meta.model_name
# instance = kwargs['instance']
#
# app_label_model_name_to_filter = {
# ('location','country'): 'address__city__country',
# ('location','city'): 'address__city',
# ('location', 'address'): 'address',
# # todo: remove after migration
# ('establishment', 'establishmenttype'): 'establishment_type',
# ('establishment', 'establishmentsubtype'): 'establishment_subtypes',
# ('tag', 'tag'): 'tags',
# }
# filter_name = app_label_model_name_to_filter.get((app_label, model_name))
# if filter_name:
# qs = Establishment.objects.filter(**{filter_name: instance})
# for product in qs:
# registry.update(product)
#
#
# @receiver(post_save)
# def update_news(sender, **kwargs):
# from news.models import News
# app_label = sender._meta.app_label
# model_name = sender._meta.model_name
# instance = kwargs['instance']
# app_label_model_name_to_filter = {
# ('location','country'): 'country',
# ('news','newstype'): 'news_type',
# ('tag', 'tag'): 'tags',
# }
# filter_name = app_label_model_name_to_filter.get((app_label, model_name))
# if filter_name:
# qs = News.objects.filter(**{filter_name: instance})
# for product in qs:
# registry.update(product)
#
#
# @receiver(post_save)
# def update_product(sender, **kwargs):
# from product.models import Product
# app_label = sender._meta.app_label
# model_name = sender._meta.model_name
# instance = kwargs['instance']
# app_label_model_name_to_filter = {
# ('product','productstandard'): 'standards',
# ('product', 'producttype'): 'product_type',
# ('tag','tag'): 'tags',
# ('location', 'wineregion'): 'wine_region',
# ('location', 'winesubregion'): 'wine_sub_region',
# ('location', 'winevillage'): 'wine_village',
# ('establishment', 'establishment'): 'establishment',
# }
# filter_name = app_label_model_name_to_filter.get((app_label, model_name))
# if filter_name:
# qs = Product.objects.filter(**{filter_name: instance})
# for product in qs:
# registry.update(product)
"""Search indexes app signals."""
from django.db.models.signals import post_save
from django.dispatch import receiver
from django_elasticsearch_dsl.registries import registry
@receiver(post_save)
def update_document(sender, **kwargs):
from establishment.models import Establishment
app_label = sender._meta.app_label
model_name = sender._meta.model_name
instance = kwargs['instance']
app_label_model_name_to_filter = {
('location','country'): 'address__city__country',
('location','city'): 'address__city',
('location', 'address'): 'address',
# todo: remove after migration
('establishment', 'establishmenttype'): 'establishment_type',
('establishment', 'establishmentsubtype'): 'establishment_subtypes',
('tag', 'tag'): 'tags',
}
filter_name = app_label_model_name_to_filter.get((app_label, model_name))
if filter_name:
qs = Establishment.objects.filter(**{filter_name: instance})
for product in qs:
registry.update(product)
@receiver(post_save)
def update_news(sender, **kwargs):
from news.models import News
app_label = sender._meta.app_label
model_name = sender._meta.model_name
instance = kwargs['instance']
app_label_model_name_to_filter = {
('location','country'): 'country',
('news','newstype'): 'news_type',
('tag', 'tag'): 'tags',
}
filter_name = app_label_model_name_to_filter.get((app_label, model_name))
if filter_name:
qs = News.objects.filter(**{filter_name: instance})
for product in qs:
registry.update(product)
@receiver(post_save)
def update_product(sender, **kwargs):
from product.models import Product
app_label = sender._meta.app_label
model_name = sender._meta.model_name
instance = kwargs['instance']
app_label_model_name_to_filter = {
('product','productstandard'): 'standards',
('product', 'producttype'): 'product_type',
('tag','tag'): 'tags',
('location', 'wineregion'): 'wine_region',
('location', 'winesubregion'): 'wine_sub_region',
('location', 'winevillage'): 'wine_village',
('establishment', 'establishment'): 'establishment',
}
filter_name = app_label_model_name_to_filter.get((app_label, model_name))
if filter_name:
qs = Product.objects.filter(**{filter_name: instance})
for product in qs:
registry.update(product)

View File

@ -66,7 +66,7 @@ PROJECT_APPS = [
'partner.apps.PartnerConfig',
'product.apps.ProductConfig',
'recipe.apps.RecipeConfig',
# 'search_indexes.apps.SearchIndexesConfig',
'search_indexes.apps.SearchIndexesConfig',
'translation.apps.TranslationConfig',
'configuration.apps.ConfigurationConfig',
'timetable.apps.TimetableConfig',
@ -79,8 +79,8 @@ PROJECT_APPS = [
EXTERNAL_APPS = [
'corsheaders',
# 'django_elasticsearch_dsl',
# 'django_elasticsearch_dsl_drf',
'django_elasticsearch_dsl',
'django_elasticsearch_dsl_drf',
'django_filters',
'drf_yasg',
'fcm_django',