12

我对 mongodb 和 node.js 都很陌生,但最近一切都很好,直到我需要向我的网站添加全文搜索。根据我的研究,我发现 Elasticsearch 非常适合,但我不知道如何让它与 node.js 和 mongodb 一起工作。我目前正在使用 Heroku 和 MongoLab 来托管我的应用程序。这是我的问题。

  1. 如何托管 Elasticsearch?

  2. 如何使我的所有 mongo 数据可用于 elasticsearch 我是使用河流还是手动插入和删除所有数据?

    我在这条河上找到了一些东西,但我不太确定如何自动实现这一点以及在哪里托管它。

  3. 如何从 node.js 查询 Elasticsearch?是否有允许这样做的软件包?

编辑:

问题2确实是我正在努力解决的问题。我还包括了问题 1 和 3,以帮助刚接触该主题并来自谷歌的人。

4

3 回答 3

8

1)在您自己的服务器/VM/whatever.. 或使用托管服务,例如https://searchbox.io/

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

3) ElasticSearch 是一个简单的 HTTP API,您可以使用“http”模块发出自己的请求,也可以使用https://github.com/mikeal/request之类的东西来简化它

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

于 2013-02-11T12:05:03.897 回答
1

Searchly.com(又名 SearchBox.io)引入了一个新的爬虫功能,包括 MongoDB 爬虫。它从给定的集合中获取数据并定期同步到 ElasticSearch。检查http://www.searchly.com/documentation/crawler-beta/

于 2013-10-25T11:47:27.850 回答
0
  1. 您可以在自己的服务器上托管或使用 aws elasticsearch 服务或使用 elasticsearch 提供的弹性云。
  2. 尝试以下三种解决方案中的任何一种:- i) 尝试使用 mongoosastic。NPM 包 ii) 使用 mongo-connector。iii) 用于将数据索引到 elasticsearch 的 python 脚本
  3. 弹性搜索-js。JavaScript 客户端库
于 2016-09-04T14:27:03.610 回答