본문 바로가기
WIKI 기술 지식 베이스

Scoring script filter

원문 보기 위키 갱신

출처: 문서

본문

스코어링 스크립트 필터

스코어링 스크립트 필터는 먼저 문서를 필터링한 다음, 그 결과에 대해 브루트 포스 방식의 정확한 k-NN 검색을 사용해요. 예를 들어 다음 쿼리는 평점이 8에서 10 사이(양 끝값 포함)이고 주차 시설을 제공하는 호텔을 검색한 뒤, k-NN 검색을 수행해서 지정된 location에 가장 가까운 3개 호텔을 반환해요:

POST /hotels-index/_search
{
  "size": 3,
  "query": {
    "script_score": {
      "query": {
        "bool": {
          "filter": {
            "bool": {
              "must": [
                {
                  "range": {
                    "rating": {
                      "gte": 8,
                      "lte": 10
                    }
                  }
                },
                {
                  "term": {
                    "parking": "true"
                  }
                }
              ]
            }
          }
        }
      },
      "script": {
        "source": "knn_score",
        "lang": "knn",
        "params": {
          "field": "location",
          "query_value": [
            5.0,
            4.0
          ],
          "space_type": "l2"
        }
      }
    }
  }
}

{% include copy-curl.html %}

더 알아보기 (Learn more)