점수 정규화
집계 파이프라인의 후속 단계에서 0
~ 1
범위에서 $search
쿼리 점수를 정규화할 수 있습니다. $search
단계 이후에 다음 단계를 다음 순서로 사용하여 점수를 정규화할 수 있습니다.
{ "$addFields": { "score": { "$meta": "searchScore" } } } { "$setWindowFields": { "output": { "maxScore": { "$max": "$score" } } } } { "$addFields": { "normalizedScore": { "$divide": [ "$score", "$maxScore" ] } } }
예제
다음 예제에서는 및 {$addFields
$setWindowFields
단계 $search
이후의 단계를 사용하여 컬렉션에 대한 일부 예제 쿼리의 점수를 정규화하는 방법을 보여 줍니다.sample_mflix.movies
쿼리에 대해 자세히 알아보려면 function
옵션 예제를 참조하세요.
Atlas Search 결과에는 다음 점수가 포함됩니다.
단계의
$search
필드에 있는 쿼리에 대해 수정된score
$addFields
점수입니다.$setWindowFields
단계의maxScore
필드에 있는 결과의 문서에 할당된 최대 점수입니다.$addFields
단계의normalizedScore
필드의 정규화된 점수는 $divide를 사용하여$score
의 수정된 점수를$maxScore
의 최대 점수로 나누어 계산합니다.