Utilisation du repos-clients/_RECHERCHE size = 100 & de = 500, capable d'aller chercher les résultatselasticsearch: navigation Page Consécutif à l'aide des résultats printemps-données-ElasticSearch vide après certaines limites
ne marche même travailler à l'étape ci-dessous en utilisant le code
Utilisation du ressort-data-ElasticSearch suivant ci-dessous avec des extraits de code en utilisant la taille = 100, de = 500, les résultats sont vides
Note: Il alla chercher les résultats avec succès une fois, i.e. après la création d'index
NativeSearchQueryBuilder nativeSearchQueryBuilder = new NativeSearchQueryBuilder(); nativeSearchQueryBuilder.withIndices("indexName"); nativeSearchQueryBuilder.withTypes("someType"); nativeSearchQueryBuilder.withPageable(new PageRequest(500, 100)); SearchQuery searchQuery = nativeSearchQueryBuilder.build(); elasticsearchTemplate.queryForList(searchQuery, className);
Avons-nous besoin d'ajouter une étape supplémentaire pour les extraits ci-dessus pour obtenir les résultats souhaités?
0
A
Répondre
1
Le PageRequest
constructor ne prend pas from
et size
comme arguments, mais page
et size
qui est différent, parce que page
et from
ne sont pas les mêmes.
Si vous voulez que vos pages contiennent 100 éléments, alors au lieu de from=500
vous devez utiliser page=5
nativeSearchQueryBuilder.withPageable(new PageRequest(5, 100));
Merci compris, son correcte, pourquoi api de recherche élastique ne marche pas avoir un tel soutien, même est pris en charge à partir restclient? –
C'est la même chose juste implémentée différemment, juste page + taille au lieu de + taille. 'PageRequest' vient de Spring Data Core et est une abstraction adaptée à tout type de banque de données sous-jacente (ES, JPA, MongoDB Cassandra, etc.). Sous le capot, 'PageRequest' utilise également/size lorsqu'il est utilisé contre Elasticsearch. – Val
Merci @Val pour l'explication détaillée –