
SolrDisMaxQuery::setBoostFunction 메서드는 쿼리의 가중치를 설정하는 데 사용됩니다. boost function은 특정 필드에 가중치를 부여하여 검색 결과의 순위를 조절할 수 있습니다.
boost function을 사용하는 문법은 다음과 같습니다.
#hostingforum.kr
php
$query->setBoostFunction('field_name', 'boost_function_name');
예를 들어, 'title' 필드에 가중치를 부여하고, 'title' 필드에 포함된 단어의 개수에 따라 가중치를 조절하는 boost function을 사용하는 경우 다음과 같습니다.
#hostingforum.kr
php
$query->setBoostFunction('title', 'title_boost');
boost function의 내용은 다음과 같습니다.
#hostingforum.kr
php
function title_boost($doc, $value) {
return strlen($value);
}
이 boost function은 'title' 필드에 포함된 단어의 개수에 따라 가중치를 조절합니다. 단어의 개수가 많을수록 가중치가 높아지며, 검색 결과의 순위도 높아집니다.
boost function을 사용하는 예시는 다음과 같습니다.
#hostingforum.kr
php
$query = new SolrDisMaxQuery();
$query->setBoostFunction('title', 'title_boost');
$query->setQuery('example');
이 예시는 'title' 필드에 포함된 단어의 개수에 따라 가중치를 조절하는 boost function을 사용하여 'example'라는 단어를 검색합니다.
2025-05-09 08:38