랭킹 평가 API
랭킹 평가 API (Ranking Evaluation API)
Rank Evaluation API는 검색 결과의 랭킹 품질을 평가해요.
도입 버전 1.0
엔드포인트
GET {index_name}/_rank_eval
POST {index_name}/_rank_eval
쿼리 파라미터
쿼리 파라미터는 선택 사항이에요.
| 파라미터 | 데이터 타입 | 설명 |
|---|---|---|
| ignore_unavailable | Boolean | 기본값은 false 예요. false 로 설정하면 인덱스가 닫혀 있거나 없을 때 응답 본문에 오류를 반환해요. |
| allow_no_indices | Boolean | 기본값은 true 예요. false 로 설정하면 와일드카드 표현식이 닫혀 있거나 없는 인덱스를 가리킬 때 응답 본문에 오류를 반환해요. |
| expand_wildcards | String | open , closed , hidden , none , all 인덱스에 대해 와일드카드 표현식을 확장해요. |
| search_type | String | 검색 유형을 query_then_fetch 또는 dfs_query_then_fetch 로 설정해요. |
요청 본문 필드
요청 본문에는 파라미터가 하나 이상 포함되어야 해요.
| 필드 유형 | 설명 |
|---|---|
| id | 문서 또는 템플릿 ID예요. |
| requests | request 필드 섹션 안에 여러 검색 요청을 설정해요. |
| ratings | 문서 관련성 점수예요. |
| k | 쿼리당 반환되는 문서 수예요. 기본값은 10이에요. |
| relevant_rating_threshold | 문서가 관련 있는 것으로 간주되는 임계값이에요. 기본값은 1이에요. |
| normalize | true 로 설정하면 할인 누적 이득(discounted cumulative gain)이 계산돼요. |
| maximum_relevance | expected reciprocal rank 메트릭 사용 시 최대 관련성 점수를 설정해요. |
| ignore_unlabeled | 기본값은 false 예요. true 로 설정하면 라벨이 없는 문서를 무시해요. |
| template_id | 템플릿 ID예요. |
| params | 템플릿에서 사용하는 파라미터예요. |
예제 요청
GET /shakespeare/_rank_eval
{
"requests": [
{
"id": "books_query",
"request": {
"query": {
"match": {
"text": "thou"
}
}
},
"ratings": [
{
"_index": "shakespeare",
"_id": "80",
"rating": 0
},
{
"_index": "shakespeare",
"_id": "115",
"rating": 1
},
{
"_index": "shakespeare",
"_id": "117",
"rating": 2
}
]
},
{
"id": "words_query",
"request": {
"query": {
"match": {
"text": "art"
}
}
},
"ratings": [
{
"_index": "shakespeare",
"_id": "115",
"rating": 2
}
]
}
]
}
예제 응답
{
"rank_eval": {
"metric_score": 0.7,
"details": {
"query_1": {
"metric_score": 0.9,
"unrated_docs": [
{
"_index": "shakespeare",
"_id": "1234567"
}, ...
],
"hits": [
{
"hit": {
"_index": "shakespeare",
"_type": "page",
"_id": "1234567",
"_score": 5.123456789
},
"rating": 1
}, ...
],
"metric_details": {
"precision": {
"relevant_docs_retrieved": 3,
"docs_retrieved": 6
}
}
},
"query_2": { [...] }
},
"failures": { [...] }
}
}
출처: 문서