라이브러리

[PHP] SolrQuery::addGroupSortField - 그룹 정렬 필드 추가(group.sort 매개변수)




SolrQuery::addGroupSortField()

SolrQuery::addGroupSortField()는 SolrQuery 클래스의 메소드로, 검색 결과를 정렬할 때 사용할 필드를 지정하는 메소드입니다. 이 메소드는 필드를 그룹화하여 정렬할 수 있게 해줍니다.

사용법


SolrQuery::addGroupSortField()를 사용하려면 SolrQuery 인스턴스를 생성하고, 그룹화할 필드를 지정해야 합니다. 필드는 필드명과 정렬 순서를 지정해야 합니다.

예제


#hostingforum.kr
php

// Solr 인스턴스 생성

$solr = new SolrClient('http://localhost:8983/solr');



// 검색 쿼리 생성

$query = new SolrQuery();



// 그룹화할 필드 지정

$query->addGroupSortField('price', SolrQuery::ORDER_ASC);



// 검색 결과 가져오기

$result = $solr->search($query);



// 결과 출력

foreach ($result->getResponse()->getResponse()->docs as $doc) {

    echo $doc->price . "
";

}



필드명과 정렬 순서


필드명은 Solr 인덱스에 등록된 필드명과 일치해야 합니다. 정렬 순서는 다음과 같이 지정할 수 있습니다.

- `SolrQuery::ORDER_ASC`: 오름차순 정렬
- `SolrQuery::ORDER_DESC`: 내림차순 정렬

그룹화할 필드 여러 개 지정


그룹화할 필드를 여러 개 지정하려면, `addGroupSortField()` 메소드를 여러 번 호출하면 됩니다.

#hostingforum.kr
php

// 그룹화할 필드 여러 개 지정

$query->addGroupSortField('price', SolrQuery::ORDER_ASC);

$query->addGroupSortField('name', SolrQuery::ORDER_DESC);



필드명과 정렬 순서 동시 지정


필드명과 정렬 순서를 동시 지정하려면, `addGroupSortField()` 메소드에 두 번째 인수로 정렬 순서를 지정하면 됩니다.

#hostingforum.kr
php

// 필드명과 정렬 순서 동시 지정

$query->addGroupSortField('price', SolrQuery::ORDER_ASC, 'price');



필드명과 정렬 순서 동시 지정 (필드명 생략)


필드명과 정렬 순서를 동시 지정할 때, 필드명은 생략할 수 있습니다.

#hostingforum.kr
php

// 필드명과 정렬 순서 동시 지정 (필드명 생략)

$query->addGroupSortField(SolrQuery::ORDER_ASC, 'price');



필드명과 정렬 순서 동시 지정 (정렬 순서 생략)


필드명과 정렬 순서를 동시 지정할 때, 정렬 순서를 생략할 수 있습니다.

#hostingforum.kr
php

// 필드명과 정렬 순서 동시 지정 (정렬 순서 생략)

$query->addGroupSortField('price');



필드명과 정렬 순서 동시 지정 (필드명 생략, 정렬 순서 생략)


필드명과 정렬 순서를 동시 지정할 때, 필드명과 정렬 순서를 모두 생략할 수 있습니다.

#hostingforum.kr
php

// 필드명과 정렬 순서 동시 지정 (필드명 생략, 정렬 순서 생략)

$query->addGroupSortField();


  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색