如何获得弹性search玩MongoDb和node.js?

我对mongodb和node.js都比较陌生,但是最近一切都为我工作,直到我到了需要将全文search添加到我的网站的地步。 从我的研究中,我发现Elasticsearch将是一个很好的select,但我无法弄清楚如何使它与node.js和mongodb一起工作。 我正在使用Heroku和MongoLab来托pipe我的应用程序。 这是我的问题。

  1. 我如何托pipeElasticsearch?
  2. 如何使我的所有mongo数据可用于弹性search使用河stream还是手动插入和删除所有数据?

    我发现了这条河,但我不太清楚如何自动发生这种情况,以及如何托pipe它。

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

编辑:

问题2真的是我正在努力。 我还包括了问题1和问题3,以帮助那些对这个主题感兴趣并且来自谷歌的人。

1)要么在你自己的服务器/虚拟机/任何..或与托pipe的服务,如https://searchbox.io/

2)您可以创build一个脚本来索引您的现有数据,然后索引新数据,或者使用河stream索引您当前的数据库。

3)ElasticSearch是一个简单的HTTP API,您可以使用“http”模块自己创build请求,或者使用https://github.com/mikeal/request

你也可以使用像https://github.com/phillro/node-elasticsearch-client这样的第三方库

Searchly.com(Aka SearchBox.io)推出了一个新的爬虫function,包括MongoDB爬虫。 它从给定的集合中提取数据并定期同步到ElasticSearch。 检查http://www.searchly.com/documentation/crawler-beta/

  1. 您可以在自己的服务器上进行托pipe,也可以使用aws elasticsearch服务或使用elasticsearch提供的弹性云。
  2. 尝试以下三种解决scheme之一: – i)尝试使用mongoosastic。 NPM包ii)使用mongo连接器。 iii)用于将数据索引到elasticsearch的python脚本
  3. elasticsearch-JS。 JavaScript客户端库