elasticsearch 검색엔진의 상용 방법 (一) filter와query

1878 단어 elasticsearches검색
1. 필터는 관련성을 계산하지 않기 때문에 필터 속도가query보다 빠르다.
1. filter 단일 조건 조회
#  age=25 

GET index_1/_search
{
  "query": {
    "bool": {
      "filter": {
          "term": {
            "age": "25"
          }
      }
    }
  }
}

2. filter 다중 조건 조회
#  90 , 

GET index_1/_search
{
  "query": {
    "bool": {
      "filter": [{
          "match_phrase": {
            "age": "90 "
          }},
          {
            "term":{
              "education": " "
          }
      }]
    }
  }
}

 
둘째,query 조회 상하문, 관련도 계산
query 조회의 필터 조건
must: 만족해야 할 조건 (and에 해당)
should: 만족할 수도 있고 만족할 수도 없는 조건(or에 해당)
must_not: 충족할 필요가 없는 조건 (not에 해당)
#  90 , 

GET index_1/_search
{
  "query": {
    "bool": {
      "must": [{
          "match_phrase": {
            "age": "90 "
          }},
          {
            "term":{
              "education": " "
          }
      }]
    }
  }
}

 
3. filter 구현 and, or, not 기능
#  90 , 

GET index_5/_search
{
  "query": {
    "bool": {
      "filter": {
        "bool": {
          "must": [{
            "term":{
              "age": "90 "
            }},
            {
              "match":{
                "education": " "
              }
          }]
        }
      }
    }
  }
}

 
요약:
1,query, 조회 작업은 조회뿐만 아니라 점수도 계산합니다_score, 관련도 확정에 사용;filter, 조회 조작은 조회 조건을 충족시키는지만 판단합니다
2. filter, 조회 결과는es에 의해 자동으로 캐시되어 조회 효율을 높인다.
3.query와 filter 다중 조건 조회 방법은 기본적으로 유사하다
4,query와 filter 조회 조건은 통용될 수 있으며, 일부 형식만 조정하면 된다

좋은 웹페이지 즐겨찾기