[
{
"id": "1",
"title": "example title 1",
"priority": "high"
},
{
"id": "2",
"title": "example title 2",
"priority": "high"
},
{
"id": "3",
"title": "example title 3",
"priority": "high"
},
{
"id": "4",
"title": "example title 4",
"priority": "low"
},
{
"id": "5",
"title": "example title 5",
"priority": "low"
},
{
"id": "6",
"title": "example title 6",
"priority": "low"
}
]
У меня есть следующие элементы в индексе эластичного поиска, и я могу легко сортировать по нескольким полям, но я не нашел способа сортировки по нескольким полям, а затем по случайному.
Так, например, я бынужно сделать это:
"sort": [
{
"priority": "asc"
},
_script: {
script: "Math.random() * 200000",
type: "number",
params: {},
order: "asc"
}
]
Итак, скажем, при первом запросе вы получите следующие результаты:
3,2,1 (первоочередной приоритетно рандомизировано), 5,4,6 (далее идет низкий приоритет, но также рандомизировано)
Второй запрос также может выглядеть следующим образом:
2,1,3 (высокий), 6,5,4 (низкий) * * тысяча двадцать-одна