점수 상세 정보 반환
scoreDetails
단계에서 부울 옵션을 $search
사용하면 쿼리 결과의 각 문서에 대한 점수를 자세히 분석할 수 있습니다. 메타데이터를 보려면 단계에서 $meta 표현식을 $project
사용해야 합니다.
구문
{ "$search": { "<operator>": { <operator-specification> }, "scoreDetails": true | false } }, { "$project": { "scoreDetails": {"$meta": "searchScoreDetails"} } }
옵션
$search 단계 에서 scoreDetails
부울 옵션은 다음 값 중 하나를 사용합니다.
true
- 결과에 문서의 점수 세부 정보를 포함합니다.true
로 설정하면 Atlas Search는 결과의 각 문서에 대한 자세한 점수 분석을 반환합니다. 자세한 내용은 출력을 참조하세요.false
- 결과에서 점수 분석의 세부 정보를 제외합니다. (기본값)
생략하면 scoreDetails
옵션의 기본값은 false
입니다.
$project 단계 에서 scoreDetails
필드는 다음 값이 필요한 $meta 표현식을 사용합니다.
searchScoreDetails | 결과에 포함된 각 문서의 점수에 대한 자세한 분석을 반환합니다. |
출력
scoreDetails
옵션은 결과의 각 문서에 대해 scoreDetails
객체 내부의 details
배열에 다음 필드를 반환합니다.
필드 | 유형 | 설명 |
---|---|---|
value | 튜브 | |
description | 문자열 | 문서의 채점 방식 및 점수 계산 시 고려된 요인에 대한 세부 정보를 포함하는 채점 공식의 하위 집합입니다. 참고최상위 수준 자세한 내용 은 점수에 영향을 미치는 요인을 참조하세요. |
details | 객체 배열 | 점수 공식의 하위 집합을 기반으로 문서에 있는 각 일치 항목의 점수 분석입니다. 이 값은 구조가 재귀적인 점수 세부 정보 객체의 배열입니다. |
점수에 기여하는 요소
BM25Similarity
의 경우, 점수는 boost * idf * tf
로 계산됩니다. Atlas Search는 점수를 계산할 때 다음 BM25Similarity
요소를 고려합니다.
boost | 텀의 중요도를 높입니다. | |
---|---|---|
freq | 쿼리 텀의 빈도입니다. | |
idf | 쿼리의 역 문서 빈도입니다. Atlas Search는 다음 공식을 사용하여 빈도를 계산합니다.
where:
| |
tf | 용어 빈도. Atlas Search는 다음 공식을 사용하여 빈도를 계산합니다.
where:
|
거리 감쇠 함수의 경우 점수는 pivot / (pivot +
abs(fieldValue - origin))
으로 계산됩니다. Atlas Search는 점수를 계산할 때 다음 요소를 고려합니다.
origin | 근처에서 검색할 값입니다. 이는 결과의 근접성이 측정되는 점입니다. |
---|---|
fieldValue | 문서에서 쿼리하는 필드의 값입니다. fieldValue 가 origin 에 가까울수록 근거리 쿼리의 점수가 높습니다. |
pivot | fieldValue 와 origin 사이의 거리가 동일한 경우 점수를 0.5 과 동일하게 만들기 위한 참고 점으로 지정된 값입니다. 이는 fieldValue 와 origin 사이의 거리가 멀수록 점수가 얼마나 빨리 감소하는지 정의합니다. fieldValue 와 origin 사이의 주어진 거리에서 pivot 이 감소하면 점수도 감소합니다. |
예제
다음 예에서는 다음에 대한 결과에서 점수의 세부 정보를 검색하는 방법을 보여 줍니다.
쿼리는 text, near, 복합 및 embeddedDocument 연산자를 사용하여 실행됩니다.
function
옵션 표현식을 사용하여 점수가 수정된 쿼리입니다.
팁
객체 배열에서 재귀적으로 점수의 세부 정보를 보려면 다음을 실행하여 mongosh
에서 설정을 구성합니다.
config.set('inspectDepth', Infinity)
연산자 예제
다음 예제에서는 텍스트 , near , 복합 및 embeddedDocument 연산자 쿼리에 대한 결과의 문서에 대해 옵션을 사용하여 점수 분석을 검색하는 방법을 보여 줍니다.$search
scoreDetails
사용자 지정 점수 예시
다음 $search
scoreDetails
예제에서는 sample_mflix.movies
collection에 대한 함수 표현식 예제 쿼리의 결과에 있는 문서에 대해 옵션을 사용하여 점수 분석을 검색하는 방법을 보여 줍니다.