Zing은 세 가지 구성요소를 사용하여 문서 점수를 계산합니다.
Zing 검색 엔진은 문서에서 검색어의 빈도, 순서 및 가중치를 기준으로 문서 점수를 계산합니다.
문서 점수
- 빈도: 검색어가 문서에 나타나는 빈도입니다.
- 시퀀스: 검색어가 검색 쿼리와 동일한 순서로 나타나는 빈도입니다.
- 가중치: 검색어가 나타나는 소스 필드에 가중치가 얼마나 큰지.
빈도 포인트
Zing은 검색어가 문서의 아무 곳에나 나타날 때마다 1점을 부여합니다. 예를 들어, 분산 데이터베이스 서버를 검색할 때 3번 분산, 5번 데이터베이스, 17번 서버를 포함하는 문서는 25개의 빈도 포인트를 갖습니다.
문서에서 더 자주 나타나지만 문서 집합에서 덜 자주 나타나는 검색어의 검색 결과 점수를 높이려면 다음을 수행할 수 있습니다 역 문서 빈도(IDF)별 점수 검색어. TF-IDF가 활성화되면 검색어 점수는 용어 빈도 점수에 역 문서 빈도 점수를 곱하여 계산됩니다. TF-IDF를 활성화하면 덜 일반적인 검색어의 가중치가 증가하므로 해당 테이블에 대한 검색 결과가 관련성이 있을 가능성이 높습니다. 예를 들어, 분산 데이터베이스 서버를 검색할 때 분산 이라는 용어가 한 문서에서는 자주 나타나지만 문서 세트 전체에서는 덜 자주 나타나는 경우 서버 보다 더 높은 점수를 받을 수 있습니다.
Zing은 검색어가 나타나는 필드의 속성 값을 ts_weight 기준으로 빈도 지점에 승수를 적용합니다. 텍스트 검색 점수 가중치가 30()ts_weight=30인 필드는 검색어를 포함할 때마다 30점을 추가합니다.
시퀀스 포인트
Zing은 검색어가 입력된 순서와 동일한 순서로 문서에 포함되어 있는 경우 문서에 더 많은 점수를 부여합니다. 순차적으로 검색어가 많을수록 점수는 기하급수적으로 높아집니다. Zing은 시퀀스 포인트를 10^x로 부여하며, 여기서 x는 순서대로 나타나는 검색어의 수입니다.
분산 데이터베이스 서버 검색 예에서 Zing은 2항 문자열 데이터베이스 서버를 포함할 때마다 문서 100(10^2) 시퀀스 포인트를 부여합니다. 마찬가지로 Zing은 3항 문자열 분산 데이터베이스 서버를 포함할 때마다 문서에 1000(10^3) 시퀀스 포인트를 부여합니다.
Zing은 시퀀스가 나타나는 필드의 속성 값을 ts_weight 기준으로 시퀀스 포인트에 승수를 적용합니다. 시퀀스 포인트는 계산 (10^x * field ts_weight attribute)을 사용합니다.
필드 점수 가중치
- kb_knowledge.number = 50
- kb_knowledge.short_description = 10
- kb_knowledge.meta = 10
- task.number = 50
- task.short_description = 10
다른 모든 필드에는 기본 ts_weight 속성이 1입니다. 가능한 최대 가중치 값은 255입니다.