ElasticSearch 자주 사용하는 검색 키워드 해독(match,term,range,terms)

3046 단어 ElasticSearch
본 논문은 공식 문서를 참고했다.
https://www.elastic.co/guide/cn/index.html
Elasticsearch는 자체적으로 많은 조회를 가지고 있지만, 자주 사용하는 것도 그 몇 개뿐이다.

1. match 쿼리


모든 필드에서 전문 검색을 하든 정확한 검색을 하든 match 검색은 당신이 사용할 수 있는 표준 검색입니다.
전체 텍스트 필드에서 match 쿼리를 사용하면 쿼리를 실행하기 전에 정확한 분석기로 쿼리 문자열을 분석합니다.
{ "match": { "tweet": "About Search" }}

Java 코드
QueryBuilders.matchQuery("name", name)

2. multi_match 질의

multi_match 질의는 여러 필드에서 동일한 match 질의를 수행할 수 있습니다.
{
    "multi_match": {
        "query":    "full text search",
        "fields":   [ "title", "body" ]
    }
}

Java 코드
        QueryBuilders.multiMatchQuery("full text search","body","tile");

3.range 쿼리

range 지정된 구간에 떨어진 숫자나 시간을 조회하여 찾아낸다.
{
    "range": {
        "age": {
            "gte":  20,
            "lt":   30
        }
    }
}

Java 코드:
QueryBuilders.rangeQuery("age").gte(20).lt(30)

허용되는 연산자는 다음과 같습니다.
  • GT GREATER THAN    
  • LT LESS THAN  
  • GE GREATER THAN OR EQUAL  
  • LE LESS THAN OR EQUAL

  • 4.term 쿼리

    term 쿼리는 숫자, 시간, 부울 또는 not_analyzed 문자열과 일치하는 정확한 값에 사용됩니다.
    { "term": { "age":    26           }}
    { "term": { "date":   "2014-09-01" }}
    { "term": { "public": true         }}
    { "term": { "tag":    "full_text"  }}

    Java 코드
    QueryBuilders.termQuery("tags", tag)

    주의:term의 검색 조건은 영어로 반드시 소문자!!!,왜냐하면 단어를 나눌 때 단어가 기본적으로 소문자로 설정되어 있기 때문이다

    5. terms 조회

    terms 조회는 term 조회와 같지만, 다중 값을 지정하여 일치시킬 수 있습니다.이 필드에 지정된 값의 값이 포함되어 있으면 이 문서는 다음과 같은 조건을 충족합니다.
    { "terms": { "tag": [ "search", "full_text", "nosql" ] }}
    

    Java 코드
            QueryBuilders.termsQuery("tags","Java","Python");
    

    6.exists 쿼리 및missing 쿼리

    exists 쿼리 및 missing 쿼리는 지정된 필드에 값 exists 이나 값 없음 missing 이 있는 문서를 찾는 데 사용됩니다.이는 SQL의 IS_NULLmissingNOT IS_NULLexists와 본질적으로 동일합니다.
    {
        "exists":   {
            "field":    "title"
        }
    }

    Java 코드:
            QueryBuilders.existsQuery("title");
    

    기본적으로 상용하는 조회는 여기에 소개되었는데, 생산 과정에서 우리는 조합을 많이 사용하고 조회를 많이 해서 단독으로 사용하지 않는다.다음 글 참조:
    ElasticSearch 조합 다중 조회(must,should,must_not,filter)
     
     
     
     
     
     

    좋은 웹페이지 즐겨찾기