라이브러리

[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` 옵션을 사용하여 설정할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 152 페이지

검색

게시물 검색