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 %}