指定されたフィールドを照会する方法
Elasticsearchでは、クエリを使って特定のフィールドを検索します。基本的なクエリを以下に示します。
GET /index_name/_search
{
"query": {
"match": {
"field_name": "field_value"
}
}
}
上記のクエリ例では、index_nameは検索対象のインデックス名、field_nameは検索対象のフィールド名、field_valueは照合するフィールド値です。
複数のフィールドを検索するには、multi-match クエリを使用できます。次の例を参照してください。
GET /index_name/_search
{
"query": {
"multi_match": {
"query": "field_value",
"fields": ["field1", "field2", "field3"]
}
}
}
上記のクエリ例では、「field1」「field2」「field3」は検索対象のフィールド名です。
複雑な検索をしたい場合は、boolクエリを使用します。以下にその例を示します。
GET /index_name/_search
{
"query": {
"bool": {
"must": [
{"match": {"field1": "value1"}},
{"match": {"field2": "value2"}}
],
"filter": {"term": {"field3": "value3"}}
}
}
}
上記の検索サンプルでは、must節は指定したフィールドの値と一致するのを、filter節はクエリ結果をフィルタリングするのに利用されています。
指定されたフィールドをクエリするための異なるクエリステートメントが、具体的なニーズに応じて利用可能です。