0

私は MongoDb を使用して、Heroku でホストされている高速アプリのストレージを使用しています。

Bonsai Heroku アドオン経由で ElasticSearch を使用して、いくつかの MongoDb コレクションに検索機能を提供したいと考えています。

ただし、Bonsai faqによると、Elasticsearch River プラグインはサポートされていません。

elasticsearch-river-mongodb を使用できない場合、カスタム マッピングを使用して、Bonsai で MongoDb コレクションを (MongoDb ドキュメントが作成/更新/削除されたときに) 自動的に再インデックス化するにはどうすればよいですか?

4

1 に答える 1

0

Bonsai サポートによる回答は次のとおりです。

- 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に触発されたreindexスクリプトを作成しました。

  • node-cronで定期的に呼び出されます。

  • または、イベント検出後にオンデマンドで呼び出されます。イベントをトリガーするには、次のようにmongo-oplogを使用します。

    oplog.on('insert', function (doc) {
      reindex();
    });
    
于 2015-06-16T11:08:27.847 に答える