の基本的な検索クエリ Elasticsearch: 総合ガイド

キーワードベースのクエリ(Match Query)

一致クエリは、特定のキーワードを含むドキュメントを検索するために使用されます。 少なくとも 1 つの対応するキーワードを持つドキュメントが返されます。

laptop  例:に キーワードを含む名前の商品を検索します products Index

GET /products/_search  
{  
  "query": {  
    "match": {  
      "name": "laptop"  
    }  
  }  
}  

 

すべてのキーワードを含める必要があります(Match Phrase Query)

一致フレーズ クエリでは、クエリ内のすべてのキーワードがドキュメント テキスト内で正しい順序で連続して出現する必要があります。

例: 説明に「 」という語句が含まれる製品を検索します HP laptop

GET /products/_search  
{  
  "query": {  
    "match_phrase": {  
      "description": "HP laptop"  
    }  
  }  
}  

 

フレーズプレフィックス全体を含める必要があります(Match Phrase Prefix Query)

Match Phrase Prefix クエリは Match Phrase に似ていますが、最後のキーワードの部分一致が可能です。

例: で始まる説明を持つ製品を検索します laptop

GET /products/_search  
{  
  "query": {  
    "match_phrase_prefix": {  
      "description": "laptop"  
    }  
  }  
}  

 

用語ベースのクエリ(用語クエリ)

用語クエリは、指定された正確な値を持つフィールドを持つドキュメントを検索するために使用されます。

例: category 値がフィールドにある製品を検索します laptop

GET /products/_search  
{  
  "query": {  
    "term": {  
      "category": "laptop"  
    }  
  }  
}  

 

範囲ベースのクエリ(Range Query)

Range クエリは、指定された範囲内のフィールド値を持つドキュメントを検索するのに役立ちます。

例: 価格が 500 ~ 1000 の製品を検索します。

GET /products/_search  
{  
  "query": {  
    "range": {  
      "price": {  
        "gte": 500,  
        "lte": 1000  
      }  
    }  
  }  
}  

 

用語レベルのクエリ

用語レベルのクエリを使用すると、完全一致、プレフィックス、範囲、ワイルドカード、ファジー クエリなどの特定の条件に基づいてドキュメントを検索できます。

例: 名前が で始まり laptop 、価格が 500 ~ 1000 の製品を検索します。

GET /products/_search  
{  
  "query": {  
    "bool": {  
      "must": [  
        {  
          "prefix": {  
            "name": "laptop"  
          }  
        },  
        {  
          "range": {  
            "price": {  
              "gte": 500,  
              "lte": 1000  
            }  
          }  
        }  
      ]  
    }  
  }  
}  

 

Full-Text クエリ

Full-Text クエリでは、テキスト分析アルゴリズムを使用してテキスト フィールドを検索し、類似の単語や同義語を見つけることができます。

例: 説明に または のいずれかを含む製品を検索し computer  ます laptop

GET /products/_search  
{  
  "query": {  
    "match": {  
      "description": "computer laptop"  
    }  
  }  
}  

 

ブールクエリ

Boolean クエリでは、複数のサブクエリをさまざまな検索条件(すべてを含む必要がある、少なくとも 1 つ含まなければならない、含まない必要があるなど) と組み合わせて、正確な検索結果を得ることができます。

例: 存在 category および laptop  価格が 500 ~ 1000 の製品を検索します。

GET /products/_search  
{  
  "query": {  
    "bool": {  
      "must": [  
        {  
          "term": {  
            "category": "laptop"  
          }  
        },  
        {  
          "range": {  
            "price": {  
              "gte": 500,  
              "lte": 1000  
            }  
          }  
        }  
      ]  
    }  
  }  
}  

 

これらは、 の基本的な検索クエリ Elasticsearch と、各クエリ タイプの例を示しています。 を使用する場合 Elasticsearch 、これらのクエリを組み合わせて、柔軟かつ効率的にデータを検索できます。