Maison > Questions et réponses > le corps du texte
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.
给我你的怀抱2017-05-24 11:40:21
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.
var esClient = new elasticsearch.Client({
host: esconf.host130,
apiVersion: "0.90",
log: 'error'
});
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.