라이브러리

[PHP] SolrDisMaxQuery::removeBigramPhraseField - 구문 bigram 필드 제거(pf2 매개변수)




SolrDisMaxQuery와 removeBigramPhraseField


SolrDisMaxQuery는 Apache Solr의 디스맥스 쿼리 클래스입니다. 디스맥스 쿼리는 Solr에서 사용하는 쿼리 언어로, 사용자가 입력한 키워드를 기반으로 문서를 검색하는 데 사용됩니다.

SolrDisMaxQuery 클래스는 디스맥스 쿼리를 생성하고 관리하는 데 사용되는 클래스입니다. 이 클래스는 `removeBigramPhraseField` 메서드를 제공하는데, 이 메서드는 쿼리에서 빅램 프레이즈 필드를 제거하는 데 사용됩니다.

빅램 프레이즈 필드


빅램 프레이즈 필드는 Solr에서 사용하는 필드 타입으로, 두 개 이상의 단어를 하나의 단어로 처리하는 필드 타입입니다. 예를 들어, "hello world"라는 단어를 빅램 프레이즈 필드로 처리하면, "hello"와 "world"라는 두 개의 단어를 하나의 단어로 처리하게 됩니다.

removeBigramPhraseField 메서드


`removeBigramPhraseField` 메서드는 쿼리에서 빅램 프레이즈 필드를 제거하는 데 사용되는 메서드입니다. 이 메서드는 디스맥스 쿼리에서 빅램 프레이즈 필드를 제거하여, 쿼리에서 빅램 프레이즈 필드가 포함되지 않은 결과를 반환합니다.

예제


#hostingforum.kr
php

use SolariumQueryTypeSelectQueryQuery;

use SolariumQueryTypeSelectResultResult;

use SolariumQueryTypeSelectQueryFilterQuery as FilterQuery;

use SolariumQueryTypeSelectQueryFilterTerm;

use SolariumQueryTypeSelectQueryFilterTerms;

use SolariumQueryTypeSelectQueryFilterTermRange;

use SolariumQueryTypeSelectQueryFilterWildcard;

use SolariumQueryTypeSelectQueryFilterRegex;

use SolariumQueryTypeSelectQueryFilterDisMax;

use SolariumQueryTypeSelectQueryFilterBoost;

use SolariumQueryTypeSelectQueryFilterBoostFunction;

use SolariumQueryTypeSelectQueryFilterFunctionScore;

use SolariumQueryTypeSelectQueryFilterMatchAllDocs;

use SolariumQueryTypeSelectQueryFilterMatchAllDocsQuery;

use SolariumQueryTypeSelectQueryFilterMatch;

use SolariumQueryTypeSelectQueryFilterMatchQuery;

use SolariumQueryTypeSelectQueryFilterMoreLikeThis;

use SolariumQueryTypeSelectQueryFilterMoreLikeThisQuery;

use SolariumQueryTypeSelectQueryFilterPhrase;

use SolariumQueryTypeSelectQueryFilterPhraseQuery;

use SolariumQueryTypeSelectQueryFilterPhrasePrefix;

use SolariumQueryTypeSelectQueryFilterPhrasePrefixQuery;

use SolariumQueryTypeSelectQueryFilterQuery;

use SolariumQueryTypeSelectQueryFilterTermRangeQuery;

use SolariumQueryTypeSelectQueryFilterWildcardQuery;

use SolariumQueryTypeSelectQueryFilterRegexQuery;

use SolariumQueryTypeSelectQueryFilterDisMaxQuery;

use SolariumQueryTypeSelectQueryFilterBoostQuery;

use SolariumQueryTypeSelectQueryFilterBoostFunctionQuery;

use SolariumQueryTypeSelectQueryFilterFunctionScoreQuery;

use SolariumQueryTypeSelectQueryFilterMatchAllDocsQuery;

use SolariumQueryTypeSelectQueryFilterMatchQuery;

use SolariumQueryTypeSelectQueryFilterMoreLikeThisQuery;

use SolariumQueryTypeSelectQueryFilterPhraseQuery;

use SolariumQueryTypeSelectQueryFilterPhrasePrefixQuery;

use SolariumQueryTypeSelectQueryFilterQuery;

use SolariumQueryTypeSelectQueryFilterTermRangeQuery;

use SolariumQueryTypeSelectQueryFilterWildcardQuery;

use SolariumQueryTypeSelectQueryFilterRegexQuery;

use SolariumQueryTypeSelectQueryFilterDisMaxQuery;

use SolariumQueryTypeSelectQueryFilterBoostQuery;

use SolariumQueryTypeSelectQueryFilterBoostFunctionQuery;

use SolariumQueryTypeSelectQueryFilterFunctionScoreQuery;



// 디스맥스 쿼리 객체를 생성합니다.

$query = new DisMaxQuery();



// 빅램 프레이즈 필드를 제거합니다.

$query->removeBigramPhraseField('name');



// 쿼리 객체에 필터를 추가합니다.

$query->addFilter(new Term('category', 'product'));



// 쿼리 객체에 필터를 추가합니다.

$query->addFilter(new Term('price', '1000'));



// 쿼리 객체를 실행합니다.

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



// 결과를 출력합니다.

foreach ($result as $document) {

    echo $document->id . "
";

    echo $document->name . "
";

    echo $document->price . "
";

}



이 예제에서는 디스맥스 쿼리 객체를 생성하고, 빅램 프레이즈 필드를 제거합니다. 그리고 필터를 추가하고, 쿼리 객체를 실행하고, 결과를 출력합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색