TOMOLOG

こにゃにゃちわ

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" : "チョコレート"
}