
SolrQuery::setFacetMethod은 facet 필드의 데이터 타입에 따라 facet method를 선택해야 합니다. facet 필드의 데이터 타입에 따라 facet method를 선택하는 이유는 facet 필드의 데이터 타입에 따라 facet method의 동작이 달라지기 때문입니다.
facet method의 종류는 다음과 같습니다.
- enum: facet 필드의 데이터 타입이 문자열일 때 사용합니다. enum facet method는 facet 필드의 값을 열거하여 facet을 생성합니다.
- range: facet 필드의 데이터 타입이 숫자일 때 사용합니다. range facet method는 facet 필드의 값을 범위로 나누어 facet을 생성합니다.
- pivot: facet 필드의 데이터 타입이 문자열일 때 사용합니다. pivot facet method는 facet 필드의 값을 열거하여 facet을 생성하고, facet 필드의 값을 기준으로 다른 facet 필드를 생성합니다.
- query: facet 필드의 데이터 타입은 상관없이 사용할 수 있습니다. query facet method는 facet 필드의 값을 기준으로 다른 facet 필드를 생성합니다.
예를 들어, enum facet method를 사용하여 facet을 설정하는 방법은 다음과 같습니다.
#hostingforum.kr
php
$query = new SolrQuery();
$query->setFacetMethod('enum');
$query->addFacetField('facet 필드명');
$query->setFacetEnumField('facet 필드명');
만약 facet 필드가 숫자 타입이면, range facet method를 사용해야 합니다.
#hostingforum.kr
php
$query = new SolrQuery();
$query->setFacetMethod('range');
$query->addFacetField('facet 필드명');
$query->setFacetRangeField('facet 필드명');
facet 필드의 데이터 타입에 따라 facet method를 선택해야 하므로, facet 필드의 데이터 타입을 확인하고 적절한 facet method를 선택해야 합니다.
2025-04-18 04:48