我使用 MongoDb 和一个快速的 Heroku 托管应用程序进行存储。
我想通过Bonsai Heroku 插件使用 ElasticSearch 为一些 MongoDb 集合提供搜索功能。
但是,根据Bonsai faq,不支持 Elasticsearch River 插件。
如果我不能使用elasticsearch-river-mongodb ,如何使用自定义映射在 Bonsai 上自动重新索引我的 MongoDb 集合(当创建/更新/删除 MongoDb 文档时) ?
我使用 MongoDb 和一个快速的 Heroku 托管应用程序进行存储。
我想通过Bonsai Heroku 插件使用 ElasticSearch 为一些 MongoDb 集合提供搜索功能。
但是,根据Bonsai faq,不支持 Elasticsearch River 插件。
如果我不能使用elasticsearch-river-mongodb ,如何使用自定义映射在 Bonsai 上自动重新索引我的 MongoDb 集合(当创建/更新/删除 MongoDb 文档时) ?
这是盆景支持的答案:
- You could always set up a script with a curl command to index the MongoDB collections, then use cron to run the script at regular intervals.
- You could also use an Elasticsearch client to index collections in some cases.
所以我制作了一个受Elaster启发的重新索引脚本,它可以:
要么使用node-cron定期调用;
或在事件检测后按需调用;触发事件我使用mongo-oplog,如下所示:
oplog.on('insert', function (doc) {
reindex();
});