ドキュメントのインデックスとクエリ
editドキュメントのインデックスとクエリ
editcustomerインデックスにインデキシングしてみましょう。ドキュメントにインデックスを付けるためには、インデックス内のどのタイプにするかをElasticsearchに指定する必要があったことを思い出してください。
次のように、「external」タイプでIDが1のcustomerインデックスにシンプルなcustomerドキュメントをインデキシングします。
PUT /customer/external/1?pretty { "name": "John Doe" }
次のような応答が返ります。
{ "_index" : "customer", "_type" : "external", "_id" : "1", "_version" : 1, "result" : "created", "_shards" : { "total" : 2, "successful" : 1, "failed" : 0 }, "created" : true }
上記の応答から、新しいcustomerドキュメントがcustomerインデックスとexternalタイプ内に正常に作成されたことがわかります。さらに、ドキュメントの内部IDが、インデキシングの際に指定した1になっています。
Elasticsearchでは、ドキュメントをインデキシングする前に、インデックスを明示的に作成する必要はありません。前の例では、customerインデックスがあらかじめ存在していない場合、Elasticsearchがcustomerインデックスを自動的に作成します。
次のように、インデキシングをしたドキュメントを取得します。
GET /customer/external/1?pretty
次のような応答が返ります。
{ "_index" : "customer", "_type" : "external", "_id" : "1", "_version" : 1, "found" : true, "_source" : { "name": "John Doe" } }
要求されたIDが1のドキュメントが見つかったことを示すフィールド`found`と、直前のステップでインデキシングした完全なJSONドキュメントを返すもう1つのフィールド`_source`以外に特に変わりありません。