From affb985b157e97e6ca7d15d58c494c30c2266c2d Mon Sep 17 00:00:00 2001 From: Kuroshini Date: Wed, 22 Jan 2020 19:41:44 +0300 Subject: [PATCH] BO news via ES #5 (optimize) --- apps/news/models.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/news/models.py b/apps/news/models.py index c9fa3c8d..fed4da82 100644 --- a/apps/news/models.py +++ b/apps/news/models.py @@ -186,7 +186,8 @@ class NewsQuerySet(TranslationQuerysetMixin): _query |= elasticsearch_dsl.Q('wildcard', **{key: {'value': f'*{search_value}*', 'boost': boost + 30}}) search = NewsDocument.search().query('bool', should=_query)[0:10000].execute() ids = [result.meta.id for result in search] - preserved = Case(*[When(pk=pk, then=pos) for pos, pk in enumerate(ids)]) + ids_order = enumerate(ids) + preserved = Case(*[When(pk=pk, then=pos) for pos, pk in ids_order]) return self.filter(id__in=ids).order_by(preserved) def trigram_search(self, search_value: str):