如何使用mongoosastic连接到AWS Elasticsearch

我正尝试在我的mongo db数据库上创build一个search。 我认为一个好的select是使用elasticsearch。 所以我开始了一个关于aws弹性search的集群。 因为我有这个弹性search的开发目的,我已经设置了访问策略对域的开放访问。

this.es_connection = new elasticsearch.Client("elastic search end point as given on aws es domain page"); this.es_connection.ping( { requestTimeout: 30000, hello: 'elasticsearch' }, function(error) { if (error) { console.error('elasticsearch cluster is down!' + JSON.stringify(error)); } else { logger.info('All is well in elasticsearch'); } } ); 

检查我正在尝试在npm上ping我们的elascticsearch软件包。我没有任何活的连接。 节点服务器正在本地主机上运行。当我从我自己的浏览器中查看终点URL时,我收到了成功消息。

我如何用mongoosastic使用aws es服务,我一直没有遇到连接错误。 如果AWS / ES是一个restapi我怎么能用于mongoosastic。

确保在连接期间指定您的AWS凭证。 我build议使用这个库https://www.npmjs.com/package/http-aws-es 。 这对我工作:

 var client = require('elasticsearch').Client({ hosts: 'Your host', connectionClass: require('http-aws-es'), amazonES: { region: 'region', accessKey: 'key', secretKey: 'secretKey' } }); 

那么也要确保你做出正确的查询,否则会导致400错误。