From aab99af87f808114ef306a04626171ecab7a488c Mon Sep 17 00:00:00 2001 From: Kuroshini Date: Wed, 22 Jan 2020 19:24:26 +0300 Subject: [PATCH] BO news via ES #4 --- 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 337ba0f3..c9fa3c8d 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] - return self.filter(id__in=ids) + preserved = Case(*[When(pk=pk, then=pos) for pos, pk in enumerate(ids)]) + return self.filter(id__in=ids).order_by(preserved) def trigram_search(self, search_value: str): """Search with mistakes by description or title or subtitle."""