1

user/data にユーザー オブジェクトがあるとします。

{"_id": 123, "name": "Bob"}

ユーザーが複数のペットを飼っている場合、ペット ドキュメントは次のようになります。

{"_id": 1423, "owner": 123, "type": "cat", "name": "Prince McNugget"}
{"_id": 1830, "owner": 123, "type": "dog", "name": "Tarley"}

所有者が 123 のすべてのペット ドキュメントを見つけるために、エラスティック サーチで高速な (つまり、インデックス付きの) 検索を実行する正しい方法 (または適切なオプションは何ですか) は何ですか?

フィールドが「not_analyzed」であるマッピングを使用することを提案する「exact-match」の質問への回答を読みましたが、「not_analyzed」であるフィールドにはインデックスが付けられていないため、データベースはフルテーブル スキャンに似た処理を実行して (ここでは SQL と比較しています)、結果を取得します。これは私には受け入れられません。インデックス検索にする必要があります。

4

3 に答える 3

0

あなたのユースケースでは、esのリレーショナル機能は興味深いものです。これにより、正確な ID を検索できるhas_parentなどのクエリが可能になります。それに加えて、言及されたクエリという用語は正しいです。

于 2015-06-05T16:33:26.400 に答える