web-dev-qa-db-fra.com

Limiter le nombre de résultats renvoyés par Elastic Search

J'ai un problème où je veux réduire le nombre de résultats de la recherche Elastic à 1 000, quel que soit le nombre de résultats correspondants, mais cela ne devrait pas affecter le classement.

J'essayais terminate_after, mais cela semble indiquer la recherche élastique pour obtenir les N premiers résultats sans prendre en compte les scores. Corrigez-moi si je me trompe.

Toute aide sur ceci?

MODIFIER:

J'utilise déjà la pagination. Ainsi, utiliser Taille dans De/Taille n'affectera que la taille de la page actuelle. Mais je veux limiter la taille des résultats totaux à 1 000, puis la pagination à ce sujet.

9
RohitWagh

Pourquoi ne pas utiliser De/Taille pour renvoyer le nombre de résultats requis:

GET /_search
{
    "from" : 0, "size" : 1000,
    "query" : {
        //your query
    }
}
3
Kulasangar

as-tu essayé avec

terminate_after

Le nombre maximum de documents à collecter pour chaque fragment, une fois atteint, l'exécution de la requête se terminant plus tôt. Si défini, la réponse aura un champ booléen terminated_early pour indiquer si l'exécution de la requête est réellement terminée par terminated_early. La valeur par défaut est no terminate_after.

0
kozla13