ESのクエリで特定のフィールドだけを返す方法を教えてください

Elasticsearchで特定のフィールドを戻すための方法は、sourceフィルタを使用することです。

フィルタによって検索要求で返されるフィールドのリストを指定することができ、その結果レスポンスサイズが小さくなってパフォーマンスが向上します。_source パラメータで返されるフィールドのリストを指定するか、またはクエリ要求で _source フィールドを使用して返されるフィールドを指定できます。次の例に、2 つの使用方法を示します。

_source パラメータを使用します:

GET /index/_search
{
  "_source": ["field1", "field2"],
  "query": {
    "match_all": {}
  }
}

_source フィールドを使用する:

GET /index/_search
{
  "query": {
    "match_all": {}
  },
  "_source": ["field1", "field2"]
}

上記の2つのサンプルにおいて、「field1」と「field2」のみが検索結果に返され、それ以外のフィールドは無視されます。

bannerAds