Je ne sais pas si quelqu'un a déjà utilisé nodejs combiné avec elasticsearch pour le développement. Je voulais l'essayer aujourd'hui et j'ai exécuté une requête scoll, mais une erreur très étrange s'est produite. S'il vous plaît, aidez-moi.
C'est ma méthode
esdao.searchScollFor130 = function() {
esClient.search({
index: esconf.index130,
type: esconf.ttype,
scroll: '30s',
search_type: 'scan',
body: {query: {match_all: {}}}
}, function getMoreUntilDone(err, ress) {
console.log(ress);
if (92202 !== allresult.length) {
esClient.scroll({
scrollId: ress._scroll_id,
scroll: '30s'
}, getMoreUntilDone);
} else {
console.log('every "test" title', allTitles);
}
});
console.log(allresult);
}
Mais l'arrière-plan continue de générer des erreurs pendant l'exécution
Dans une autre manière d'écrire, remplacez 92202 par ress.hits.total et souhaitez obtenir le nombre total, mais :
Je copie directement le résultat renvoyé et l'attribue à une variable, mais il. peut être obtenue.
J'ai trouvé moi-même la cause du problème. Laissez-moi vous indiquer la solution pour éviter les détours lorsque je rencontre le même problème. Car la version de mon serveur est l'ancienne version 1.2, je n'ai donc besoin de l'ajouter qu'à la création du client. . Mettez simplement le numéro de version.
C'est une question que j'ai soulevée sur github. J'ai été inspiré par une autre personne qui a posé une question. Vous pouvez également vous référer à mon processus de solution.