web-dev-qa-db-ja.com

Cosmos DBとElasticsearchの両方を使用することには意味がありますか?

私のアプリはCosmos DBを使用してデータを保存しています。全文検索をサポートする必要がありますが、Cosmosはそのままでは提供しません。推奨事項の1つはElasticsearchを使用することでしたが、私はそれを試しました。試すほど、データを複製しているように感じます。同じドキュメントを文字どおりCosmos DBとElasticsearchにプッシュします。

私はここで悪い道を進んでいますか?私の見方では、次のいずれかを行う必要があります。

  • cosmos DBのみを使用し、自分でコンテンツをトークン化+ステミングすることでフルテキストをシミュレートする
  • elasticsearchのみを使用する
  • cosmos DBをAzure Searchと組み合わせて使用​​します。これにより、データベースの責任が倍増しないように感じます

私の方向性について誰かがここで考えていますか?

3
me--

私はあなたの使い方についてすべてを知っているわけではないので、あなたにとって正しい方法は何であるかは言えません。
私があなたに言えることは、エラスティックを別のDBと混合することは、合法的で一般的な行動方針であるということです。

必要な時間を投資する場合は、メイン(または唯一の)ストレージとしてelasticsearchを使用できます。また、Elasticsearchでリクエストされたフィールドのみをインデックス化して(それらを保存せずに)、Elasticに検索リクエストを送信し、返されたIDを使用してメインストレージをクエリし、選択したアイテムの詳細情報を取得できます。

5