라이브러리

[PHP] SolrQuery::addFacetQuery - 패싯 쿼리를 추가합니다.




PHP 에서 SolrQuery::addFacetQuery


SolrQuery::addFacetQuery는 SolrQuery 클래스의 메소드로, facet 쿼리를 추가하는 메소드입니다. facet 쿼리는 검색 결과에서 특정 필드의 값을 집계하는 기능입니다. 예를 들어, 검색 결과에서 상품의 가격을 집계하고 싶다면 facet 쿼리를 사용할 수 있습니다.

예제


아래 예제는 PHP에서 SolrQuery::addFacetQuery를 사용하는 방법을 보여줍니다.

#hostingforum.kr
php

use SolariumClient;

use SolariumQueryTypeQuery;



// Solr 클라이언트 생성

$client = new Client();



// 쿼리 생성

$query = $client->createSolrQuery()

    ->addFacetQuery('price', 'range', 'price', '0', '1000') // price 필드의 0부터 1000까지의 값을 집계

    ->addFacetQuery('category', 'terms', 'category') // category 필드의 값을 집계

    ->setQuery('product:*') // product:* 검색

    ->setStart(0) // 시작 인덱스

    ->setRows(10) // 결과 개수

;



// 쿼리 실행

$result = $client->query($query);



// 결과 출력

foreach ($result->getFacetSets() as $facetSet) {

    echo "Facet Set: " . $facetSet->getName() . "
";

    foreach ($facetSet->getQueries() as $query) {

        echo "  " . $query->getName() . ": " . $query->getValue() . "
";

    }

}



foreach ($result->getDocuments() as $document) {

    echo "Document: " . $document->getId() . "
";

    foreach ($document->getFields() as $field => $value) {

        echo "  " . $field . ": " . $value . "
";

    }

}



facet 쿼리 종류


SolrQuery::addFacetQuery 메소드는 facet 쿼리의 종류를 지정할 수 있습니다. facet 쿼리의 종류는 다음과 같습니다.

* `range`: 범위 집계
* `terms`: 단어 집계
* `pivot`: 피봇 집계

facet 쿼리 옵션


SolrQuery::addFacetQuery 메소드는 facet 쿼리의 옵션을 지정할 수 있습니다. facet 쿼리의 옵션은 다음과 같습니다.

* `field`: facet 쿼리 대상 필드
* `start`: facet 쿼리 시작 인덱스
* `rows`: facet 쿼리 결과 개수

참고


SolrQuery::addFacetQuery 메소드는 facet 쿼리를 추가하는 메소드입니다. facet 쿼리는 검색 결과에서 특정 필드의 값을 집계하는 기능입니다. facet 쿼리를 사용하면 검색 결과에서 필드의 값을 집계할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색