라이브러리

[PHP] SolrQuery::addFilterQuery - 필터 쿼리를 지정합니다.




PHP에서 SolrQuery::addFilterQuery 사용하기


SolrQuery::addFilterQuery는 SolrQuery 클래스의 메서드 중 하나로, 필터 쿼리를 추가하는 데 사용됩니다. 필터 쿼리는 검색 결과를 필터링하는 데 사용되는 쿼리입니다. 예를 들어, 특정 카테고리, 가격 범위, 또는 특정 날짜의 문서만 검색하고 싶을 때 사용할 수 있습니다.

예제


아래 예제에서는 SolrQuery::addFilterQuery를 사용하여 특정 카테고리와 가격 범위의 문서만 검색하는 방법을 보여줍니다.

#hostingforum.kr
php

require_once 'vendor/autoload.php';



use SolariumClient;

use SolariumQueryTypeQueryQuery;



// Solr 클라이언트 생성

$client = new Client([

    'url' => 'http://localhost:8983/solr',

    'username' => 'solr',

    'password' => 'solr',

]);



// Solr 쿼리 생성

$query = $client->createSolrQuery()

    ->setQuery('*:*') // 모든 문서 검색

    ->addFilterQuery('category:전자제품') // 카테고리 필터 추가

    ->addFilterQuery('price:[100 TO 500]'); // 가격 필터 추가



// 쿼리 실행

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



// 검색 결과 출력

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

    echo $document->id . "
";

}



필터 쿼리 유형


SolrQuery::addFilterQuery는 다양한 필터 쿼리 유형을 지원합니다. 예를 들어, 다음과 같은 필터 쿼리 유형이 있습니다.

* `category:전자제품` : 카테고리 필터
* `price:[100 TO 500]` : 가격 필터
* `date:[2020-01-01 TO 2020-12-31]` : 날짜 필터
* `author:john` : 저자 필터

필터 쿼리 옵션


필터 쿼리 옵션을 사용하여 필터 쿼리의 동작을 조절할 수 있습니다. 예를 들어, 다음과 같은 필터 쿼리 옵션이 있습니다.

* `fq` : 필터 쿼리 옵션 (기본값)
* `facet` : facet 옵션
* `facet.mincount` : facet 최소 카운트 옵션

#hostingforum.kr
php

$query = $client->createSolrQuery()

    ->setQuery('*:*')

    ->addFilterQuery('category:전자제품', 'fq') // 카테고리 필터 추가

    ->addFilterQuery('price:[100 TO 500]', 'facet') // 가격 필터 추가

    ->addFilterQuery('date:[2020-01-01 TO 2020-12-31]', 'facet.mincount', 10); // 날짜 필터 추가



결론


SolrQuery::addFilterQuery는 필터 쿼리를 추가하는 데 사용되는 메서드입니다. 필터 쿼리는 검색 결과를 필터링하는 데 사용됩니다. 예를 들어, 특정 카테고리, 가격 범위, 또는 특정 날짜의 문서만 검색하고 싶을 때 사용할 수 있습니다. 필터 쿼리 유형과 옵션을 사용하여 필터 쿼리의 동작을 조절할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색