如何进行弹性搜索以使用MongoDb和node.js?

Mar*_*hdy 12 mongodb node.js elasticsearch

我对mongodb和node.js都相当新,但最近我得到了一切对我有用,直到我达到了我需要在我的网站上添加全文搜索的程度.根据我的研究,我发现Elasticsearch非常合适,但我无法弄清楚如何使用node.js和mongodb.我目前正在使用Heroku和MongoLab来托管我的应用程序.这是我的问题.

  1. 我如何托管Elasticsearch?
  2. 如何将所有mongo数据提供给elasticsearch?我是使用河流还是手动插入和删除所有数据?

    我找到了这条河的东西,但我不太确定如何让它自动发生以及在哪里托管它.

  3. 如何从node.js查询Elasticsearch?是否有允许这个的包?

编辑:

问题2确实是我正在努力的方向.我还包括问题1和3,以帮助那些不熟悉该主题且来自谷歌的人.

Gal*_*aim 8

1)在您自己的服务器/ VM /任何..或与托管服务,如https://searchbox.io/

2)您可以创建一个脚本来索引现有数据,然后在创建新数据后对其进行索引,或者使用河流来索引当前数据库.

3)ElasticSearch是一个简单的HTTP API,您可以使用"http"模块发出自己的请求,或者使用https://github.com/mikeal/request简化它.

您也可以使用第三方库,如https://github.com/phillro/node-elasticsearch-client