21

ElasticSearch と分離された Nosql データベースの両方を使用する用途は何ですか? Elasticsearch をデータベースと検索インデックスの両方に使用できませんか?

4

1 に答える 1

16

はい、ElasticSearch をインデックスだけでなくデータ ソースとしても使用できます。

デフォルトでは、ElasticSearch システムに送信する各ドキュメントはインデックスであり、元のドキュメントも保存されます。これは、ElasticSearch にクエリを実行するたびに、インデックスを作成した元の JSON ドキュメントも取得できることを意味します。

大きなドキュメントがあり、より少量のデータを取得できるようにしたい場合は、マッピング API を使用して特定のフィールドの「store」を「yes」に設定し、「fields」キーを使用して引き出すことができます。必要な特定のフィールド。

私のシステムでは住所のオートコンプリートがあり、プロパティの住所フィールドのみを取得しています。これが私のシステムの例です:

_search?q=FullAddress:main&fields:FullAddress

次に、ユーザーがアドレスを選択すると、JSON ドキュメント全体が (他のドキュメントと共に) プルアップされます。

ノート:

  1. SQL のように更新を行うことはできません (たとえば、クエリに一致するすべての項目を更新して属性を増やします)。
  2. ただし、新しいドキュメントを追加して、更新する ID の既存のドキュメントを置き換えることはできます。エラスティック検索は、開発者がオプティミスティック コンカレンシーを適用するために使用できる各ドキュメントの _version プロパティをインクリメントしますが、各ドキュメントの個別のバージョン履歴は保持しません。ドキュメントの最新バージョンのみを取得できます。
于 2011-11-09T00:49:00.847 に答える