라이브러리
[PHP] SolrDisMaxQuery::useEDisMaxQueryParser - QueryParser를 EDisMax로 전환
SolrDisMaxQuery와 eDisMaxQueryParser
SolrDisMaxQuery는 Apache Solr에서 제공하는 쿼리 파서 중 하나입니다. 이 파서를 사용하면 Solr에서 제공하는 다양한 쿼리 옵션을 사용할 수 있습니다. eDisMaxQueryParser는 SolrDisMaxQuery의 파서 중 하나로, DisMaxQuery와 EdismaxQuery를 결합한 파서입니다.
eDisMaxQueryParser 사용하기
eDisMaxQueryParser를 사용하려면 SolrDisMaxQuery의 useEDisMaxQueryParser() 메소드를 호출하면 됩니다.
#hostingforum.kr
php
use SolariumQueryTypeQueryQueryInterface;
use SolariumQueryTypeQueryFilterQueryDisMaxQuery;
$query = new DisMaxQuery();
$query->setQuery('키워드');
$query->useEDisMaxQueryParser();
eDisMaxQueryParser 옵션
eDisMaxQueryParser에서 사용할 수 있는 옵션은 다음과 같습니다.
* `qf` : 필드별 가중치 옵션
* `pf` : 필드별 가중치 옵션
* `bq` : 보조 쿼리 옵션
* `fq` : 필터 쿼리 옵션
* `mm` : 최소 매칭 문서 수 옵션
* `mlt` : 관련 문서 옵션
* `mlt.fl` : 관련 문서 필드 옵션
* `mlt.mintf` : 관련 문서 최소 단어 수 옵션
* `mlt.mindf` : 관련 문서 최소 문서 수 옵션
* `mlt.maxdocs` : 관련 문서 최대 문서 수 옵션
#hostingforum.kr
php
use SolariumQueryTypeQueryQueryInterface;
use SolariumQueryTypeQueryFilterQueryDisMaxQuery;
$query = new DisMaxQuery();
$query->setQuery('키워드');
$query->useEDisMaxQueryParser();
// 필드별 가중치 옵션
$query->setQf('title^2.0 title^1.0 content^0.5');
// 보조 쿼리 옵션
$query->setBq('title:키워드');
// 필터 쿼리 옵션
$query->setFq('category:카테고리');
// 최소 매칭 문서 수 옵션
$query->setMm(2);
// 관련 문서 옵션
$query->setMlt(true);
$query->setMltFl('title');
$query->setMltMintf(2);
$query->setMltMindf(2);
$query->setMltMaxdocs(10);
예제
#hostingforum.kr
php
use SolariumClient;
use SolariumQueryTypeQueryQueryInterface;
use SolariumQueryTypeQueryFilterQueryDisMaxQuery;
// Solr 클라이언트 생성
$client = new Client('http://localhost:8983/solr');
// 쿼리 생성
$query = new DisMaxQuery();
$query->setQuery('키워드');
$query->useEDisMaxQueryParser();
// 필드별 가중치 옵션
$query->setQf('title^2.0 title^1.0 content^0.5');
// 보조 쿼리 옵션
$query->setBq('title:키워드');
// 필터 쿼리 옵션
$query->setFq('category:카테고리');
// 최소 매칭 문서 수 옵션
$query->setMm(2);
// 관련 문서 옵션
$query->setMlt(true);
$query->setMltFl('title');
$query->setMltMintf(2);
$query->setMltMindf(2);
$query->setMltMaxdocs(10);
// 쿼리 실행
$result = $client->query($query);
// 결과 출력
print_r($result);
이 예제는 SolrDisMaxQuery를 사용하여 쿼리를 실행하고, 결과를 출력합니다. eDisMaxQueryParser를 사용하여 필드별 가중치 옵션, 보조 쿼리 옵션, 필터 쿼리 옵션, 최소 매칭 문서 수 옵션, 관련 문서 옵션을 설정합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.