search fix
authorRadek Czajka <rczajka@rczajka.pl>
Mon, 5 Jun 2023 12:41:52 +0000 (14:41 +0200)
committerRadek Czajka <rczajka@rczajka.pl>
Mon, 5 Jun 2023 12:41:52 +0000 (14:41 +0200)
src/search/forms.py
src/search/templates/search/results.html

index edbc9d3..176c73e 100644 (file)
@@ -104,14 +104,14 @@ class SearchFilters(forms.Form):
                 qs['pdbook'] = qs['pdbook'].none()
             if c != 'quote': qs['snippet'] = qs['snippet'].none()
             if c != 'art': qs['art'] = qs['art'].none()
-            qs['art'] = Picture.objects.none()
+            qs['art'] = picture.models.Picture.objects.none()
 
         if self.cleaned_data['format']:
             c = self.cleaned_data['format']
             qs['author'] = qs['author'].none()
             qs['pdauthor'] = qs['pdauthor'].none()
             qs['theme'] = qs['theme'].none()
-            qs['genre'] = qs['genrer'].none()
+            qs['genre'] = qs['genre'].none()
             qs['collection'] = qs['collection'].none()
             if c == 'art':
                 qs['book'] = qs['book'].none()
@@ -163,7 +163,7 @@ class SearchFilters(forms.Form):
         books = qs['book'].annotate(
             search_vector=UnaccentSearchVector('title')
         ).filter(search_vector=squery)
-        books = books.exclude(ancestor__in=books)
+        books = books.exclude(ancestor__in=books).order_by('-popularity__count')
 
         snippets = qs['snippet'].filter(search_vector=squery).annotate(
                     headline=SearchHeadline(
@@ -172,9 +172,8 @@ class SearchFilters(forms.Form):
                         config='polish',
                         start_sel='<strong>',
                         stop_sel='</strong>',
-                        highlight_all=True
                     )
-                )[:100]
+                ).order_by('-book__popularity__count', 'sec')[:100]
         snippets_by_book = {}
         for snippet in snippets:
             snippet_list = snippets_by_book.setdefault(snippet.book, [])
index 189d095..dbd0d6f 100644 (file)
         <div class="c-search-result-collection">
           {% for collection in results.collection %}
             {% include 'catalogue/2022/collection_box.html' %}
-            {% include 'catalogue/2022/collection_box.html' %}
           {% endfor %}
         </div>
       </div>