2017-06-03 2 views
0

Bitte beachten Sie mein Beispiel solr Dokument unten.solr sortierung nur für zwei dokumente gedacht

{ 
    "title": "Apple" 
}, 
{ 
    "title": "Banana", 
    "popularity": 2 
}, 
{ 
    "title": "Mango", 
    "popularity": 3 
}, 
{ 
    "title": "Lemon", 
    "popularity": 1 
} 

standardmäßig die Abfrage „title“: * so alle solr Dokument als Ergebnis zurück, nach Titel aufsteigend sortiert. Es wird so aussehen

Apple Banana Lemon Mango

Nun, was ich will eine andere Sortierung hinzuzufügen, ist das ein bisschen schwierig zumindest für mich implementieren :(. Ich mag es sortieren nach Namen aufsteigend und nach Beliebtheit absteigend das beinhaltet nur die Popularität, die einen Wert von 3 hat und 2. das Ergebnis wie diese

Mango Banana Apple Lemon

die Frage sein soll, was die Abfrage sei?

Dank

+0

Mögliche Duplikat [Order durch einen Ausdruck in Solr] (https://stackoverflow.com/questions/6437512/order-by-an-expression-in -solr) – apokryfos

Antwort

1

Sie können es wie folgt sortieren:

sort=map(popularity,2,3, popularity,0) desc, title asc 
+0

vielen dank Ich glaube, das ist der richtige Ansatz. Ich habe vergessen zu erwähnen, dass ich PHP-Solarium benutze und immer noch herausfinden, wie man solr-Funktionen in sort einbaut. – noodlesegg

Verwandte Themen