web-dev-qa-db-ja.com

なぜ弾性検索が人気なのですか?

Elastic searchは、基本的にデータのインデックス作成に関するものです。


データベースの世界では、

MongoDBコレクションに複数のインデックスを作成できます

MongoDBのコレクションはschema-lessにすることができます。

MongoDBでは、JSON構文のBSONエンコードを使用して、クエリをMongoDBに通信します。

Elastic searchでは、JSON構文を使用して、このようなスキーマのないドキュメントに対してインデックスが作成されます。


1)違いがわかりません、

  • MongoDBコレクションのインデックス作成

  • Elastic searchでのインデックス作成

2)MongoDBコレクションのインデックス付けに対するElastic searchでのインデックス付けの付加価値を理解したいと思います。

3)MongoDBコレクションに既にインデックスを付けているのに、なぜElastic searchを使用するのですか?


質問:

なぜエラスティック検索はそれほど人気が​​あるのですか?

2
user1787812

MongoDBはデータベースです。 Elasticsearchは、検索エンジンです。目的が異なるため、優先順位も異なります。 MongoDBは、優れたパフォーマンスでデータを一貫して保存し、さまざまなアクセスパターンをサポートすることに重点を置いています。 Elasticsearchは、検索、特にテキスト検索用の低レイテンシインデックスの構築に重点を置いています。 MongoDBにはフルテキスト検索があります(ほとんどのデータベースにあります)が、これは機能であり、データベースの主な焦点ではないため、オプションが多くなく、Elasticsearchほどパフォーマンスが良くない場合があります。

MongoDBコレクションのインデックス作成よりもElasticsearchのインデックス作成の付加価値を理解したいと思います。

具体的には、 MongoDBのテキストインデックスドキュメント をご覧ください。限定された種類のクエリとインデックスオプションのみをサポートします。 Elasticsearchは、多くの トークン化戦略 、トークンフィルター、文字フィルター、 ファジーマッチング同義語 などをサポートしています。

Elasticsearchがなぜそれほど人気が​​あるのですか?

あなたの質問のほとんどはMongoDBとElasticsearchを比較することですが、誰もがMongoDBを使用しているわけではありません。 RDBMS(PostgreSQLなど)を使用している場合、検索属性を収集してElasticsearchなどの検索エンジンに貼り付けると非常に便利です。この場合、RDBMSがすでに使用されているため、MongoDBを使用することは意味がありません。別のデータベースは必要ありません。検索エンジンが必要です。それがElasticsearchの優れた点です。 MongoDBを既に使用している場合でも、MongoDBよりも高速であるため、専用の検索エンジンを使用することを選択できます。これにより、OLTPデータベースへの負荷が少なくなり、検索機能が増えます。

11
Samuel