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」のみが検索結果に返され、それ以外のフィールドは無視されます。