El clúster de AWS Elasticsearch se conecta a través de nodejs.
const AWS = require('aws-sdk') const elasticsearch = require('elasticsearch') const awsHttpClient = require('http-aws-es') let client = elasticsearch.Client({ host: 'http://---.us-east-1.es.amazonaws.com/', connectionClass: awsHttpClient, amazonES: { region: 'us-east-1', credentials: new AWS.Credentials('----', '-----') } }); client.search({ index: 'orders', type: 'text', body: { query: { match: { source: 'ETH' } } } }) .then(res => console.log("Error : ",res));
ERROR de Elasticsearch: 2021-08-28T07:40:03Z Error: Error de solicitud, reintentando POST http://-------.us-east-1.es.amazonaws.com/eth_orders/_search?type=text => El argumento "datos" debe ser de tipo cadena o una instancia de Buffer, TypedArray o DataView. Recibido sin definir en Log.error (C:\Users\genie\node_modules\elasticsearch\src\lib\log.js:239:56) en checkRespForFailure (C:\Users\genie\node_modules\elasticsearch\src\lib\transport. js:298:18) en hecho (C:\Users\genie\node_modules\http-aws-es\connector.js:48:7) en processTicksAndRejections (internal/process/task_queues.js:95:5)
Elasticsearch ADVERTENCIA: 2021-08-28T07:40:03Z No se puede reactivar la conexión: http://-----.us-east-1.es.amazonaws.com/
Elasticsearch ADVERTENCIA: 2021-08-28T07:40:03Z Sin conexiones vivas
(nodo: 18256) UnhandledPromiseRejectionWarning: Error: No hay conexiones vivas en sendReqWithConnection (C:\Users\genie\node_modules\elasticsearch\src\lib\transport.js:266:15) en el siguiente (C:\Users\genie\node_modules\ elasticsearch\src\lib\connection_pool.js:243:7) en processTicksAndRejections (internal/process/task_queues.js:77:11) (Use
node --trace-warnings ...
para mostrar dónde se creó la advertencia) (node :18256) UnhandledPromiseRejectionWarning: Rechazo de promesa no manejado. Este error se originó al lanzar dentro de una función asíncrona sin un bloque catch o al rechazar una promesa que no se manejó con .catch(). Para finalizar el proceso del nodo en caso de rechazo de la promesa no controlada, utilice la marca CLI--unhandled-rejections=strict
(consulte https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode ). (Id. de rechazo: 1) (nodo: 18256) [DEP0018] Advertencia de desuso: los rechazos de promesa no controlados están en desuso. En el futuro, los rechazos de promesas que no se controlen terminarán el proceso de Node.js con un código de salida distinto de cero.
Estoy recibiendo estos errores, ¿alguien puede ayudarme?
Los tipos de documento no están disponibles en la última versión de Elasticsearch, por lo que probablemente solo elimine type: 'text',
client.search({ index: 'orders', body: { query: { match: { source: 'ETH' } } } })