라이브러리
[PHP] SolrQuery::getHighlightFormatter - 강조 표시된 출력에 대한 포매터를 반환합니다.
PHP 에서 SolrQuery::getHighlightFormatter
SolrQuery::getHighlightFormatter는 SolrQuery 클래스의 메소드로, 하이라이트 형식에 대한 설정을 반환합니다. 하이라이트 형식은 검색 결과에서 검색어와 관련된 텍스트를 강조하는 데 사용됩니다.
# 기본 사용법
SolrQuery::getHighlightFormatter를 사용하려면 SolrQuery 클래스를 사용하여 검색 쿼리를 생성하고, getHighlightFormatter 메소드를 호출하여 하이라이트 형식을 설정해야 합니다.
#hostingforum.kr
php
use SolariumQueryTypeQueryQuery;
use SolariumQueryTypeQuerySelectQuery;
use SolariumQueryTypeQuerySelectHighlight;
// Solr 인스턴스 생성
$solr = new SolariumClient();
// 검색 쿼리 생성
$query = $solr->createSelect();
$query->setQuery('키워드');
$query->setHighlighting(true);
// 하이라이트 형식 설정
$highlightFormatter = $query->getHighlightFormatter();
$highlightFormatter->setFormat('plain');
$highlightFormatter->setFragmenter('query');
$highlightFormatter->setBoundary(' ');
$highlightFormatter->setMaxAnalyzedChars(1000);
// 검색 결과 가져오기
$result = $solr->execute($query);
// 하이라이트된 텍스트 출력
foreach ($result->getDocuments() as $document) {
echo $document->getHighlighting()['키워드'][0] . "
";
}
# 하이라이트 형식 설정
하이라이트 형식은 `plain`, `html`, `html_simple` 중 하나를 지정할 수 있습니다.
* `plain`: 단순 텍스트 형식으로 하이라이트합니다.
* `html`: HTML 형식으로 하이라이트합니다.
* `html_simple`: 단순 HTML 형식으로 하이라이트합니다.
하이라이트 형식은 `setFormat` 메소드를 사용하여 설정할 수 있습니다.
#hostingforum.kr
php
$highlightFormatter->setFormat('plain');
# 하이라이트 구간 설정
하이라이트 구간은 `setBoundary` 메소드를 사용하여 설정할 수 있습니다. 기본적으로 구간은 공백으로 설정됩니다.
#hostingforum.kr
php
$highlightFormatter->setBoundary(' ');
# 하이라이트 텍스트 최대 길이 설정
하이라이트 텍스트 최대 길이는 `setMaxAnalyzedChars` 메소드를 사용하여 설정할 수 있습니다. 기본적으로 최대 길이는 1000으로 설정됩니다.
#hostingforum.kr
php
$highlightFormatter->setMaxAnalyzedChars(1000);
# 하이라이트 구간 분리기 설정
하이라이트 구간 분리기는 `setFragmenter` 메소드를 사용하여 설정할 수 있습니다. 기본적으로 구간 분리기는 `query`로 설정됩니다.
#hostingforum.kr
php
$highlightFormatter->setFragmenter('query');
# 예제
위의 예제에서, `키워드`를 검색하고, 하이라이트 형식은 `plain`으로 설정되어 있습니다. 하이라이트 구간은 공백으로 설정되어 있으며, 하이라이트 텍스트 최대 길이는 1000으로 설정되어 있습니다.
#hostingforum.kr
php
use SolariumQueryTypeQueryQuery;
use SolariumQueryTypeQuerySelectQuery;
use SolariumQueryTypeQuerySelectHighlight;
// Solr 인스턴스 생성
$solr = new SolariumClient();
// 검색 쿼리 생성
$query = $solr->createSelect();
$query->setQuery('키워드');
$query->setHighlighting(true);
// 하이라이트 형식 설정
$highlightFormatter = $query->getHighlightFormatter();
$highlightFormatter->setFormat('plain');
$highlightFormatter->setFragmenter('query');
$highlightFormatter->setBoundary(' ');
$highlightFormatter->setMaxAnalyzedChars(1000);
// 검색 결과 가져오기
$result = $solr->execute($query);
// 하이라이트된 텍스트 출력
foreach ($result->getDocuments() as $document) {
echo $document->getHighlighting()['키워드'][0] . "
";
}
이 예제는 `키워드`를 검색하고, 하이라이트 형식은 `plain`으로 설정되어 있으며, 하이라이트 구간은 공백으로 설정되어 있으며, 하이라이트 텍스트 최대 길이는 1000으로 설정되어 있습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.