Estoy tratando de obtener más de 10,000 registros de elasticsearch , usando ' search_after '. En la documentación oficial se implementó fuera del cuerpo, pero eso me dio error. Así que hice una búsqueda y descubrí que debería usarse debajo del cuerpo. Intenté implementarlo, pero solo obtengo 10,000 resultados. Además, no puedo encontrar la identificación del pozo en mi respuesta. Puede alguien ayudarme con esto..??
Estoy publicando mi código a continuación:
var client = new elasticsearch.Client({ host: elasticUrl, }); const getElasticData = async() => { const response = await client.search({ index: index, type: '_doc', // size: 10000, body: { query: { match_all: {}, }, query: { match_all: {}, }, sort: [ { "_id": { "order": "asc" } } ], search_after: [10000] } }) return response } let completeElasticData; getElasticData().then(res => { completeElasticData = res let displayMsg = completeElasticData ? `Data fetched from elastic: [ ${completeElasticData.hits.total.value} ]` : `something went wrong` console.log(displayMsg) app.get('/', (req, res)=>{ res.send(completeElasticData) }) }).catch(err => console.log(err)); app.listen(5000, () => console.log('Server started on port 5000'));A continuación se muestra la vista de package.json
{ "name": "elasticdata", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "start": "nodemon app.js" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "elasticsearch": "^16.7.2", "express": "^4.17.2", "nodemon": "^2.0.15" } }