javascript - Problème de méthode scoll avec elasticsearch.js et nodejs
phpcn_u1582
phpcn_u1582 2017-05-24 11:38:21
0
1
806

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.

phpcn_u1582
phpcn_u1582

répondre à tous(1)
给我你的怀抱

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal