Ich habe ein paar Felder, nach denen ich sortieren möchte, damit sie die gleiche Priorität bekommen.Elasticsearch sortiert nach mehreren Feldnamen
Derzeit meine Sortierung wie folgt aussieht:
"sort": [
{
"stats.favoriteCount": {
"order": "desc",
"missing": 0
},
"stats.likeCount": {
"order": "desc",
"missing": 0
}
}
]
Mein Problem dabei ist, dass favoriteCount
immer zuerst behandelt werden, obwohl likeCount
höhere Werte hat.
Also für 2 Dokumente, die haben:
1: {"stats.favoriteCount": 50, "likeCount": 0}
2: {"stats.favoriteCount": 0, "likeCount": 70}
Das erste Dokument die Sortier höher, da Elasticsearch übersetzt eingestuft werden würde: [50,0] und [0,70].
Kann ich diese zwei Felder irgendwie gleich behandeln?
Dank! Dies bewegte sich um eine Menge in die richtige Richtung, ich endete mit 'max (val1, val2)' – AlexD
Ja, der 'max' Ansatz ist viel sauberer und schlanker :-). –