J'essaie de trier les résultats de recherche par date sur plusieurs pages de résultats. Le tri fonctionne sur chaque page, existe-t-il un moyen de trier l'ensemble du jeu?
Par exemple: si la page 1 contient des éléments du 13 février au 1er février; la deuxième page ne devrait pas contenir d'éléments après le 1er février.
Voici un bref extrait de la demande que j'envoie. J'ai également essayé de trier par date puis _score, mais cela a produit des résultats encore plus étranges (principalement, l'ordre de tri était le même).
{
"query": {
"from": 0,
"size": 24
"sort": [
"published_on": {
"missing": "_last",
"ignore_unmapped": true,
"order": "desc"
}
]
"custom_filters_score": {
"query": {
"bool": {
"must": [
{
"match": {
"content": "Some query"
}
}
]
... more ...
}
},
"filters": [
{
"filter" => {
"type" => {
"value" => "cats"
}
},
"boost" => 2
}
... more ...
]
}
}
}
Des pensées? Merci d'avance!
Je ne multipliais pas l'index de la page par le nombre d'éléments sur la page. Je ne sais pas comment j'ai raté les mêmes entrées sur chaque page, remonté d'un seul endroit.
Je suis sûr que cela résoudra tous les autres problèmes étranges que j'ai traités.
trier, taille, à partir de doit être à la racine
{
query:{
...
},
sort:[
...
],
from:15,
size:5
}