ElasticSearchとグラフデータベースの比較について、Webで詳細な説明を見つけることはできません。
どちらもデータを横断するように最適化されています。
ElasticSearchは分析用に最適化されているようです。
ただし、Neo4jは、インデックスと一部のフルテキスト機能を管理するLuceneにも基づいています。
すでにグラフデータベースを使用しているのにElasticSearchを使用するのはなぜですか?
私の場合、Neo4jを使用してソーシャルネットワークを構築しています。
ElasticSearchがもたらす本当のメリットは何ですか?
更新----------
私はこの段落を見つけました:
elasticsearchが役立つ無数のケースがあります。いくつかのユースケースは、他のユースケースよりも明確にそれを要求します。次に、elasticsearchが特に適しているタスクをいくつか示します。
- 特定のフレーズ(「シェフのナイフ」など)に最も一致する製品説明を多数検索して、最良の結果を返す
- 前の例では、「シェフのナイフ」が表示されるさまざまな部門を分類します(この本の後半のファセットを参照)
- 「季節」のように聞こえる単語をテキストで検索する
- スペルミスを考慮しながら、以前に発行された検索に基づいて部分的に入力された単語に基づいて検索ボックスを自動補完する
- 大量の半構造化(JSON)データを分散方式で保管し、マシンのクラスター全体に指定されたレベルの冗長性を持たせる
ただし、elasticsearchは前述の問題を解決するのに優れていますが、他の人には最適な選択ではないことに注意してください。リレーショナルデータベースが最適化されている問題の解決は特に苦手です。以下にリストされているような問題。
- 在庫に残っているアイテムの数を計算する
- 特定の月に送信されたすべての請求書のすべての明細の合計を計算する
- ロールバックサポートを使用してトランザクションで2つの操作を実行する
- 電話番号や内線番号など、指定された複数の用語にわたって一意であることが保証されているレコードを作成する
- Elasticsearchは一般に、品質による結果のスコアリングなど、データからおおよその回答を提供するのに優れています。elasticsearchは正確なマッチングと統計計算を実行できますが、検索の主なタスクは本質的におおよそのタスクです。
- おおよその回答を見つけることは、elasticsearchと従来のデータベースを分離するプロパティです。そうは言っても、従来のリレーショナルデータベースは精度とデータの整合性に優れているため、elasticsearchとLuceneにはほとんど規定がありません。
おおよその回答が必要ない場合、ElasticSearchは既に使用されているグラフデータベースと比較して役に立たないと断言できますか?