라이브러리
[PHP] SolrQuery::setFacetPrefix - 패싯할 용어를 제한하는 문자열 접두사를 지정합니다.
SolrQuery::setFacetPrefix
SolrQuery::setFacetPrefix는 Solr 쿼리에서 facet 필터링을 위한 prefix를 설정하는 메소드입니다. facet 필터링은 쿼리 결과에서 특정 필드에 대한 필터링 결과를 반환하는 기능입니다. 예를 들어, 제품 목록에서 가격을 필터링하여 10,000원 이하의 제품만 반환하는 기능입니다.
예제
#hostingforum.kr
php
use SolariumClient;
use SolariumQueryTypeQuery;
// Solr 클라이언트 생성
$client = new Client();
// 쿼리 객체 생성
$query = $client->createSolrQuery('my_index')
->setFacetPrefix('price_') // facet 필터링 prefix 설정
->setFacetFields(['price']) // facet 필터링 필드 설정
->setQuery('*:*') // 쿼리 설정
->setRows(10) // 결과 수 설정
->setStart(0) // 시작 인덱스 설정
;
// 쿼리 실행
$result = $client->query($query);
// facet 필터링 결과 출력
foreach ($result->getFacets()->getFacetFields('price') as $facet) {
echo $facet->getName() . ': ' . $facet->getValue() . PHP_EOL;
}
위 예제에서는 `price_` prefix를 사용하여 facet 필터링을 수행하고, facet 필터링 결과를 출력합니다. facet 필터링 결과는 필드 이름과 필드 값을 포함합니다.
설정 옵션
SolrQuery::setFacetPrefix 메소드에는 다음과 같은 설정 옵션이 있습니다.
* `prefix`: facet 필터링 prefix를 설정합니다.
* `fields`: facet 필터링 필드를 설정합니다.
* `minCount`: facet 필터링 결과의 최소 카운트를 설정합니다.
* `maxCount`: facet 필터링 결과의 최대 카운트를 설정합니다.
예제 (설정 옵션 사용)
#hostingforum.kr
php
use SolariumClient;
use SolariumQueryTypeQuery;
// Solr 클라이언트 생성
$client = new Client();
// 쿼리 객체 생성
$query = $client->createSolrQuery('my_index')
->setFacetPrefix('price_') // facet 필터링 prefix 설정
->setFacetFields(['price']) // facet 필터링 필드 설정
->setFacetMinCount(10) // facet 필터링 결과의 최소 카운트 설정
->setFacetMaxCount(100) // facet 필터링 결과의 최대 카운트 설정
->setQuery('*:*') // 쿼리 설정
->setRows(10) // 결과 수 설정
->setStart(0) // 시작 인덱스 설정
;
// 쿼리 실행
$result = $client->query($query);
// facet 필터링 결과 출력
foreach ($result->getFacets()->getFacetFields('price') as $facet) {
echo $facet->getName() . ': ' . $facet->getValue() . PHP_EOL;
}
위 예제에서는 facet 필터링 결과의 최소 카운트를 10으로, 최대 카운트를 100으로 설정하여 facet 필터링 결과를 제한합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.