
SolrQuery::setMltBoost 메소드는 Multi-Field Boost를 설정하는 데 사용됩니다. 이 메소드는 array 형태의 파라미터를 받습니다.
array의 키는 필드 이름, 값은 부여할 boost 값입니다. 예를 들어, array('field1' => 1.0, 'field2' => 0.5)와 같이 사용할 수 있습니다.
위 코드에서 'field1'과 'field2'에 부여된 boost 값은 검색 결과의 가중치를 설정하는 데 사용됩니다.
Solr에서 검색 결과를 반환할 때, field1과 field2의 결과를 비교하는 기준은 boost 값에 따라 달라집니다.
boost 값이 1.0인 필드는 기본 가중치를 가집니다. boost 값이 0.5인 필드는 기본 가중치의 50%만 가집니다.
따라서, field1의 결과가 field2의 결과보다 더 가중치가 높은 경우, Solr에서 field1의 결과를 우선적으로 반환합니다.
예를 들어, 다음과 같이 검색 결과가 반환된다고 가정해 보겠습니다.
| 필드1 | 필드2 |
| --- | --- |
| 10 | 5 |
| 5 | 10 |
위 코드에서 'field1'과 'field2'에 부여된 boost 값은 다음과 같습니다.
array('field1' => 1.0, 'field2' => 0.5)
이 경우, Solr에서 검색 결과를 반환할 때, field1의 결과가 field2의 결과보다 더 가중치가 높은 경우, field1의 결과를 우선적으로 반환합니다.
따라서, 검색 결과는 다음과 같이 반환됩니다.
| 필드1 | 필드2 |
| --- | --- |
| 10 | 5 |
Solr에서 검색 결과를 반환할 때, field1과 field2의 결과를 비교하는 기준은 boost 값에 따라 달라집니다. boost 값이 1.0인 필드는 기본 가중치를 가집니다. boost 값이 0.5인 필드는 기본 가중치의 50%만 가집니다.
따라서, field1의 결과가 field2의 결과보다 더 가중치가 높은 경우, Solr에서 field1의 결과를 우선적으로 반환합니다.
2025-06-22 09:05