라이브러리
[PHP] SolrQuery::setGroupFacet - group.facet 매개변수 설정
PHP에서 SolrQuery::setGroupFacet 사용하기
SolrQuery::setGroupFacet 메서드는 Solr 쿼리에서 그룹_facet 옵션을 설정하는 데 사용됩니다. 그룹_facet 옵션은 쿼리 결과에서 그룹화된 필드에 대한 facet 정보를 제공합니다.
# 그룹_facet 옵션
그룹_facet 옵션에는 다음과 같은 속성이 있습니다.
* `group_facet`: 그룹화된 필드에 대한 facet 정보를 제공합니다.
* `group_facet.field`: 그룹화된 필드의 이름입니다.
* `group_facet.limit`: facet 결과의 최대 개수입니다.
* `group_facet.sort`: facet 결과를 정렬하는 방법입니다. (예: `count`, `index`, `doc_count`)
# 예제
다음 예제는 SolrQuery::setGroupFacet 메서드를 사용하여 그룹화된 필드에 대한 facet 정보를 제공하는 방법을 보여줍니다.
#hostingforum.kr
php
use SolariumQueryTypeQueryQuery;
use SolariumQueryTypeQueryFilterQuery;
use SolariumQueryTypeQueryFilterQueryInterface;
// Solr 클라이언트 인스턴스 생성
$client = new SolariumClient($config);
// 쿼리 인스턴스 생성
$query = $client->createQuery('select')
->addFields('name', 'age')
->setGroupFacet('age', 'group_facet')
->setGroupFacetLimit(10)
->setGroupFacetSort('count')
->addFilterQuery('age', '>=', 20)
->addFilterQuery('age', '<=', 30);
// 쿼리 실행
$result = $client->select($query);
// facet 결과 출력
foreach ($result->getGroupFacets() as $facet) {
echo "그룹 필드: " . $facet->getField() . "
";
echo "facet 결과 개수: " . count($facet->getValues()) . "
";
foreach ($facet->getValues() as $value) {
echo " facet 값: " . $value->getValue() . ", facet 카운트: " . $value->getCount() . "
";
}
}
이 예제에서는 `age` 필드를 그룹화하고 facet 결과의 최대 개수는 10개로 설정합니다. facet 결과는 카운트 순으로 정렬됩니다. facet 결과는 `getValues()` 메서드를 사용하여 얻을 수 있으며, 각 facet 값은 `getValue()` 메서드를 사용하여 얻을 수 있습니다.
# 참고
* SolrQuery::setGroupFacet 메서드는 그룹화된 필드에 대한 facet 정보를 제공하는 데 사용됩니다.
* facet 결과의 최대 개수는 `group_facet.limit` 옵션을 사용하여 설정할 수 있습니다.
* facet 결과를 정렬하는 방법은 `group_facet.sort` 옵션을 사용하여 설정할 수 있습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.