문서 메뉴
문서 홈
/
MongoDB 아틀라스
/ / / /

점수 상세 정보 반환

이 페이지의 내용

  • 구문
  • 옵션
  • 출력
  • 점수에 기여하는 요소
  • 예제
  • 연산자 예제
  • 사용자 지정 점수 예시

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
튜브

점수 산정 공식의 하위 집합에 따른 점수 기여도입니다. 점수 공식은 쿼리에 사용된 연산자에 따라 달라집니다. 예를 들어, Atlas Search는 텍스트 및 근거리 연산자가 있는 복합 쿼리에 대해 다음 점수 공식을 사용합니다: BM25Similarity + distance decay function.

참고

최상위 수준 value 결과 문서의 전체 점수를 표시하며 $searchScore 값과 동일합니다.

description
문자열

문서의 채점 방식 및 점수 계산 시 고려된 요인에 대한 세부 정보를 포함하는 채점 공식의 하위 집합입니다.

참고

최상위 수준 description 문서에 점수를 매기는 데 사용된 전체 점수 공식을 표시합니다.

자세한 내용 은 점수에 영향을 미치는 요인을 참조하세요.

details
객체 배열
점수 공식의 하위 집합을 기반으로 문서에 있는 각 일치 항목의 점수 분석입니다. 이 값은 구조가 재귀적인 점수 세부 정보 객체의 배열입니다.

BM25Similarity 의 경우, 점수는 boost * idf * tf 로 계산됩니다. Atlas Search는 점수를 계산할 때 다음 BM25Similarity 요소를 고려합니다.

boost
텀의 중요도를 높입니다.
freq
쿼리 텀의 빈도입니다.
idf

쿼리의 역 문서 빈도입니다. Atlas Search는 다음 공식을 사용하여 빈도를 계산합니다.

log(1 + (N - n + 0.5) / (n + 0.5))

where:

  • N 는 필드가 있는 총 문서 수입니다.

  • n 는 해당 텀을 포함하는 문서 수입니다.

tf

용어 빈도. Atlas Search는 다음 공식을 사용하여 빈도를 계산합니다.

freq / (freq + k1 * (1 - b + b * dl / avgdl))

where:

  • freq 는 텀 내에서 해당 문서의 발생 횟수입니다.

  • k1 은(는) 내부적으로 지정된 텀 포화 매개변수입니다. 텀이 다시 발생할 때마다 점수가 얼마나 증가하는지에 영향을 줍니다.

  • avgdl 모든 문서에서 필드의 평균 길이입니다.

  • dl 은 문서에 있는 필드의 길이입니다.

  • b 는 내부적으로도 설정되는 길이 정규화 매개변수입니다. bdlavgdl 의 비율을 곱합니다. b 이 증가하면 dlavgdl 의 비율의 효과가 증폭됩니다.

거리 감쇠 함수의 경우 점수는 pivot / (pivot + abs(fieldValue - origin)) 으로 계산됩니다. Atlas Search는 점수를 계산할 때 다음 요소를 고려합니다.

origin
근처에서 검색할 값입니다. 이는 결과의 근접성이 측정되는 점입니다.
fieldValue
문서에서 쿼리하는 필드의 값입니다. fieldValueorigin 에 가까울수록 근거리 쿼리의 점수가 높습니다.
pivot
fieldValueorigin 사이의 거리가 동일한 경우 점수를 0.5 과 동일하게 만들기 위한 참고 점으로 지정된 값입니다. 이는 fieldValueorigin 사이의 거리가 멀수록 점수가 얼마나 빨리 감소하는지 정의합니다. fieldValueorigin 사이의 주어진 거리에서 pivot 이 감소하면 점수도 감소합니다.

다음 예에서는 다음에 대한 결과에서 점수의 세부 정보를 검색하는 방법을 보여 줍니다.

객체 배열에서 재귀적으로 점수의 세부 정보를 보려면 다음을 실행하여 mongosh 에서 설정을 구성합니다.

config.set('inspectDepth', Infinity)

다음 예제에서는 텍스트 , near , 복합 embeddedDocument 연산자 쿼리에 대한 결과의 문서에 대해 옵션을 사용하여 점수 분석을 검색하는 방법을 보여 줍니다.$search scoreDetails

다음 $search scoreDetails 예제에서는 sample_mflix.movies collection에 대한 함수 표현식 예제 쿼리의 결과에 있는 문서에 대해 옵션을 사용하여 점수 분석을 검색하는 방법을 보여 줍니다.

← 점수 수정