기본 검색어 Elasticsearch: 종합 가이드

키워드 기반 쿼리(Match Query)

일치 쿼리는 특정 키워드가 포함된 문서를 검색하는 데 사용됩니다. 해당 키워드가 하나 이상 있는 문서를 반환합니다.

laptop  예: 에 키워드가 포함된 이름을 가진 제품을 찾습니다 products Index.

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

 

모든 키워드를 포함해야 함(Match Phrase Query)

Match Phrase 쿼리를 사용하려면 쿼리의 모든 키워드가 문서 텍스트 내에서 올바른 순서로 연속적으로 나타나야 합니다.

예: 문구가 포함된 설명이 있는 제품을 찾습니다 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"  
    }  
  }  
}  

 

용어 기반 쿼리(Term Query)

용어 쿼리는 지정된 정확한 값을 갖는 필드가 있는 문서를 검색하는 데 사용됩니다.

예: category 값이 있는 필드가 있는 제품을 찾습니다 laptop.

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

 

범위 기반 쿼리(Range Query)

범위 쿼리는 지정된 범위 내의 필드 값이 있는 문서를 검색하는 데 도움이 됩니다.

예: 가격이 500에서 1000 사이인 제품을 찾습니다.

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

 

용어 수준 쿼리

용어 수준 쿼리를 사용하면 Exact, Prefix, Range, Wildcard 및 Fuzzy 쿼리와 같은 특정 조건을 기반으로 문서를 검색할 수 있습니다.

예: 이름이 laptop 500에서 1000 사이이고 가격이 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 쿼리는 정확한 검색 결과를 얻기 위해 모두 포함해야 함, 적어도 하나를 포함해야 함 또는 포함하지 않아야 함과 같은 다양한 검색 조건과 여러 하위 쿼리를 결합할 수 있습니다.

예: category 존재 laptop  및 가격이 500에서 1000 사이인 제품을 찾습니다.

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

 

Elasticsearch 다음은 각 쿼리 유형에 대한 예시와 함께 의 기본 검색 쿼리입니다. 를 사용할 때 Elasticsearch 이러한 쿼리를 결합하여 유연하고 효율적으로 데이터를 검색할 수 있습니다.