elasticsearchのGet APIで特定のフィールドを取得する。
elasticsearchのGet APIで特定のフィールドを取得する方法を試す。
特に指定せず、普通に取得すると以下のようになる。
[user@search001 ~]$ curl -XGET "http://localhost:9200/user_v1/searchable_user/1/_source?pretty=true" { "birthdate" : "1989-07-07T15:00:00.000Z", "register" : "2014-07-08T07:00:17.232Z", "update" : "2014-07-10T02:04:29.302Z", "gender" : "female", "zodiacSign" : "cancer", "userId" : 1, "name" : "チョコレート", "isNew" : false, }
特定のフィールドを取得する場合は、クエリーストリングで _source={FIELD}
を指定する。
[user@search001 ~]$ curl -XGET "http://localhost:9200/user_v1/searchable_user/1/_source?pretty=true&_source=name" { "name" : "チョコレート" }
複数のフィールドで絞り込みたい場合は ,
でセパレートする。
[user@search001 ~]$ curl -XGET "http://localhost:9200/user_v1/searchable_user/1/_source?pretty=true&_source=name,gender" { "gender" : "female", "name" : "チョコレート" }