2017-01-02 8 views
4

Azure Search의 색인에 점수 프로필을 추가하고 싶습니다. 더 구체적으로 말하자면, 내 색인의 모든 문서는 weight 유형의 필드가 Edm.Double이고이 값에 따라 값을 올리고 싶습니다. 검색 용어의 관련성 또한 중요하기 때문에 weight과 관련하여 직접 정렬하지는 않습니다.득점 프로파일은 Azure Search에서 점수를 어떻게 산출합니까?

그래서 테스트 해보기 위해 부스트 값 1000 (그냥이 함수가 작동하는지 알아보기 위해), 선형 보간, 시작 값 0 및 종료 값 1을 사용하여 크기 함수로 점수 프로파일을 만들었습니다. 전체 검색 점수에 추가 할 부스트 값이있을 것으로 기대하고있었습니다. 그래서 0.5의 무게를 가진 문서는 500의 부스트를 얻게되는 반면, 0.125의 무게를 갖는 문서는 125의 부스트를 얻게됩니다. 그러나 그 결과 점수는 훨씬 직관적입니다.

1) 어떻게 기능 점수이 경우 생성됩니다

나는이 경우 몇 가지 질문이 있습니까? 나는 서로 가깝게 가중치를 가진 문서를 가지고 있습니다 (0.5465와 0.5419라고 가정 해 봅시다). 최종 점수의 차이는 약 100-150이지만, 4-5 정도가 될 것으로 예상합니다.

2) 각 검색 결과의 최종 점수로 기능 점수와 가중치를 어떻게 집계합니까?

답변

1

세부 정보를 제공해 주셔서 감사합니다. 두 문서의 기본 관련성 점수는 얼마입니까?

점수 프로파일에 제공된 부스터 인자는 실제로 을 곱한 것으로 용어 빈도를 사용하여 계산 된 기본 관련 점수에 적용됩니다. 예를 들어 두 문서의 응답 페이로드에서 @ search.score에 지정된 기본 점수가 0.5와 0.2이고 가중치 열의 값이 각각 0.5465와 0.5419라고 가정합니다. 위에 주어진 점수 프로파일 구성으로 시작 값 0, 끝 값 1, 선형 보간 및 부스트 인수 1000으로 계산됩니다. 각 문서에 대해 얻은 최종 점수는 다음과 같이 계산됩니다.

문서 1 : 베이스 search_score (0.5) * boost_factor (1,000) * (중량 (0.5465) - 최소 (0))/최대 - 최소 (1) = final_search_score (273.25)

문헌 2 base_search_score (0.2) * boost_factor (1000) * (체중 (0.5419) - 최소 (0))/최대 - 최소 (1) = 최종 검색 기록 (108.38)

최종 점수가 위의 기능에 동의하지 않으면 알려 주시기 바랍니다. 감사!

네이트

+0

감사합니다. 네이트가이 질문에 완벽하게 대답합니다. 한 가지 명확한 설명은 각 필드에 가중치를 사용하는 것입니다. 내 필드에 가중치가있는 경우 기본 가중치를 먼저 가중치로 계산 한 다음이 기본 점수를 사용하여 설명한 공식이 계산됩니다. 맞습니까? – halileohalilei

+0

득점 기록에서 필드 가중치를 언급하는 경우, 예, 기본 가중치에 필드 가중치가 이미 포함되어있는 경우 추가 부스팅이 적용됩니다. –

+0

다시 감사드립니다. Nate. 또한 마지막으로 한 가지. 채점 기능에서 최소값을 가진 문서는 항상 최종 점수가 0이됩니까? 내 경우에는 '체중 - 분'이 0 일 수도 있지만,이 경우에는이 문서가 검색 결과에 깊숙이 들어가기를 원하지 않습니다. 나는 그 결과를 높이고 원래의 기본 점수를 유지하기를 원하지 않습니다. 따라서 보간 된 부스트 인수에 기본 점수를 곱하는 것보다는이를 더하고 싶습니다. 이것을 할 수있는 방법이 있습니까? 아니면이 문제에 대한 다른 해결책? – halileohalilei

관련 문제