django-haystack bestellung - Wie gehe ich damit um?

8

Ich benutze Django-Heuhaufen für eine Suchseite auf meiner Seite. Ich bin im Grunde fertig, aber nicht ganz zufrieden mit der Bestellung und nicht ganz sicher, wie Heuhaufen entscheidet, wie alles zu bestellen ist.

Ich weiß, dass ich das SearchQuerySet übersteuern kann, indem ich order_by verwende. Nehmen wir an, ich möchte die Suche durch "Auf Lager" (BooleanField) erzwingen, so dass die Produkte, die auf Lager sind, oben angezeigt werden, aber dann alles andere tun, als es normalerweise der Fall wäre. Wie mache ich das?

Ich habe versucht, order_by('-in_stock', 'content') figure content war das, was es standardmäßig verwendet, aber es produziert sehr unterschiedliche Ergebnisse von, wenn ich es einfach lassen, um seine eigene Reihenfolge zu tun.

Vielen Dank für Ihre Anregungen!

    
Bartek 08.06.2010, 17:49
quelle

2 Antworten

18

Sie müssen einen Index in Ihrer search_indexes.py mit in_stock:

haben %Vor%

und in deinen URLs:

%Vor%

Auf diese Weise zeigen Sie zuerst die Ergebnisse, wenn sie auf Lager sind, und dann nach Punkten!

    
diegueus9 23.06.2010, 21:32
quelle
2

Um ein CharField zu sortieren, machen Sie es speicherbar, aber nicht indexierbar.

%Vor%

Wenn Sie es sortierbar und indexierbar haben möchten, verwenden Sie zwei verschiedene Felder im Suchindex.

    
mexekanez 27.01.2016 17:15
quelle

Tags und Links