라이브러리

[PHP] SolrQuery::setTerms - TermsComponent를 활성화하거나 비활성화합니다.




PHP에서 SolrQuery::setTerms() 메서드


SolrQuery::setTerms() 메서드는 Apache Solr에서 사용하는 PHP 라이브러리인 Zend Search Lucene의 SolrQuery 클래스에 속하는 메서드입니다. 이 메서드는 검색 쿼리에서 사용할 Terms 필드를 설정하는 데 사용됩니다.

# Terms 필드란?


Terms 필드는 문서에 포함된 단어의 목록을 의미합니다. 예를 들어, 문서에 포함된 단어 "apple", "banana", "orange"가 있다면 Terms 필드는 ["apple", "banana", "orange"]와 같은 목록이 됩니다.

# setTerms() 메서드 사용 예제


아래 예제는 PHP에서 SolrQuery::setTerms() 메서드를 사용하는 방법을 보여줍니다.

#hostingforum.kr
php

require_once 'vendor/autoload.php';



use SolariumClient;

use SolariumQueryTypeSelectQueryQuery;



// Solr 클라이언트 생성

$client = new Client([

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

    'username' => 'solr',

    'password' => 'solr',

]);



// 쿼리 생성

$query = $client->createSelect();



// Terms 필드 설정

$query->setTerms('myfield', ['apple', 'banana']);



// 쿼리 실행

$result = $query->execute();



// 결과 출력

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

    echo $document->getField('myfield') . "
";

}



# setTerms() 메서드 옵션


setTerms() 메서드는 몇 가지 옵션을 제공합니다.

* `field`: Terms 필드를 설정할 필드 이름입니다.
* `terms`: Terms 필드의 목록입니다.
* `minimumMatch`: Terms 필드의 최소 매칭 개수입니다. 기본값은 1입니다.
* `minimumMatchFraction`: Terms 필드의 최소 매칭 비율입니다. 기본값은 0.0입니다.

예를 들어, 다음 코드는 `myfield` 필드의 Terms 필드를 설정하고, 최소 매칭 개수와 최소 매칭 비율을 설정합니다.

#hostingforum.kr
php

$query->setTerms('myfield', ['apple', 'banana'], 2, 0.5);



# 참고


SolrQuery::setTerms() 메서드는 Solr 4.x 버전부터 사용할 수 있습니다. Solr 3.x 버전에서는 Terms 필드를 설정하는 방법이 다릅니다. Solr 3.x 버전에서 Terms 필드를 설정하려면 `fq` 파라미터를 사용해야 합니다.

#hostingforum.kr
php

$query->setFilterQuery('myfield:("apple" OR "banana")');



이러한 예제는 PHP에서 SolrQuery::setTerms() 메서드를 사용하는 방법을 보여줍니다. SolrQuery::setTerms() 메서드는 검색 쿼리에서 사용할 Terms 필드를 설정하는 데 사용됩니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색