2016-09-13 5 views
1

私はテキスト検索を実装し、かつ二つの間で実現可能な アプローチを選択する必要があります。 -可能(弾性検索+ MongoDBの)またはMongoDBのテキストインデックス私のプロジェクトで

  1. MongoDBデータベースとElasticSearchを同期させる。 検索機能を、テキストのような弾性検索を持っている

  2. のMongoDB独自のテキストインデックス。私は例それぞれの長所を提供する多くの記事を行っているが、2つのアプローチの間の比較を提供しているアプローチは他よりも優れているか、何をしているすべての関連文書を発見していない

特定のアプローチの制限。

注: - 私はexpress.jsでNode.jsを使用しています。

答えて

0

MongoDBは汎用データベースであり、ElasticsearchはLuceneが支援する分散テキスト検索エンジンです。 MongoDBにデータを格納し、Elasticsearchをフルテキスト検索機能専用に使用することができます。あなたのユースケースによれば、あなたはmongoデータフィールドのサブセットのみをエラスティックに送ることができます。

  1. mongodbとElasticsearchの同期は、mongoosasticで行うことができます。あなたはmongoで持続することによってデータの安全性の問題を解決し、elasticsearchを使用して検索をスピードアップすることができます。また、elasticsearch.py​​パッケージを使用してPythonスクリプトを使用して、mongoとelasticsearchを同期させることもできます。
  2. Mongodbの検索はelasticsearchと比較して非常に遅いです。また、mongodbのインデックス作成には、より多くの時間とリソースが必要です。
関連する問題