ESのクエリで指定されたフィールドのみを返す
Elasticsearchでは、「_source」フィールドを使用して、指定したフィールドの内容を返せます。デフォルトでは「_source」フィールドにはドキュメント全体の内容が返されますが、「_source」パラメーターを指定することで必要なフィールドのみを返せます。
以下に例を示します。
GET /index_name/_search
{
"_source": ["field1", "field2"],
"query": {
"match_all": {}
}
}
上記のクエリは、指定したクエリ条件に該当するすべてのドキュメントを返します。ドキュメントにはフィールド1とフィールド2の内容のみが含まれます。
また、_source_include and _source_exclude パラメータを使用して、返信されたフィールドをさらに管理することもできます。_source_include パラメータは、含める必要があるフィールドのリストを指定するために使用され、_source_exclude パラメータは、除外する必要があるフィールドのリストを指定するために使用されます。例:
GET /index_name/_search
{
"_source": {
"includes": ["field1", "field2"],
"excludes": ["field3"]
},
"query": {
"match_all": {}
}
}
上記の例では、フィールド1とフィールド2を含むクエリ条件に一致するすべてのドキュメントが返され、フィールド3のコンテンツは除外されます。
これらのパラメーターを使用すれば、返される結果のフィールドの内容を柔軟に制御できます。