ElasticSearch - function_score 소개
6833 단어 ElasticSearch
ElasticSearch - function_score(field_value_factor 인스턴스)
ElasticSearch - function_score(weight 구체적인 실례)
ElasticSearch - function_score (감쇠 함수 linear, exp,gauss 구체적인 실례)
_score
를 처리하는 데 전문적으로 사용되는 DSL로, 모든 주 조회query가 일치하는 문서에 강화 함수를 적용하여 원시 조회 평점 score를 바꾸는 목적을 달성할 수 있습니다_score
계산 함수를 제공했다weight
: 간단하고 규범화되지 않은 권중 승급치 설정new_score = old_score * 2
field_value_factor
: 필드의 값을 곱하기old_score
new_score = old_score * likeCount
random_score
: 사용자마다 서로 다른 무작위 평점을 사용하여 결과 정렬을 하지만 특정한 사용자에게 보이는 순서는 시종 일치한다 (linear、exp、guass)
: 필드 값을 기준으로 값이 가까울수록 점수가 높음script_score
: 상기 범위를 초과할 경우 사용자 정의 스크립트로 평가 계산을 완전히 제어할 수 있지만, 스크립트를 추가로 유지해야 하기 때문에 유지보수가 쉽지 않기 때문에 ES가 제공하는 평가 함수를 최대한 사용하면 수요를 충족시키지 못하고 script_score boost_mode
: 결정old_score와 강화 score는 어떻게 통합합니까new_score = old_score * score
new_score = old_score + score
new_score = min(old_score, score)
new_score = max(old_score, score)
new_score = score
score_mode
: functions 안의 강화 score들이 어떻게 합병될지 결정합니다. 우선 통합 강화 score들이 하나의 총 강화 score가 되고 총 강화 score를 사용하여old_score 합병, 다시 말하면 score_mode, boost_ 다시 실행하기mode max_boost
: 강화 함수를 제한하는 가장 큰 효과는 강화 score의 최대 수량을 제한하는 것이지만old_score score = min( score, max_boost)
_score
을 바탕으로 그에게 다른 필드의 평점 기준을 더하면'전문 검색+기타 필드'를 종합하여 평점하는 효과GET 127.0.0.1/mytest/doc/_search
{
"query": {
"function_score": {
"query": {.....}, // , , old_score
"field_value_factor": {...}, // old_score , , score
, function , query
"boost_mode": "multiply", // old_score score new_score
"max_boost": 1.5 // score , old_score
}
}
}
GET 127.0.0.1/mytest/doc/_search
{
"query": {
"function_score": {
"query": {.....},
"functions": [ // ( filter+ ), score,
functions score
{ "field_value_factor": ... },
{ "gauss": ... },
{ "filter": {...}, "weight": ... }
],
"score_mode": "sum", // score ,
"boost_mode": "multiply" // score old_score
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
spring-data-elasticsearch 페이지 조회부록: 1. 이름에서 알 수 있듯이QueryBuilder는 검색 조건, 필터 조건을 구축하는 데 사용되고 SortBuilder는 정렬을 구축하는 데 사용된다. 예를 들어 우리는 어느 위치에서 100미터 범위 내의 모...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.