라이브러리
[PHP] SolrQuery::getHighlightQuery - 하이라이트 쿼리(hl.q)를 반환합니다.
PHP에서 SolrQuery::getHighlightQuery 사용하기
SolrQuery::getHighlightQuery는 Solr 쿼리에서 하이라이트 기능을 활성화하고 하이라이트 쿼리를 설정하는 메소드입니다. 하이라이트 기능은 검색 결과에서 특정 단어 또는 텍스트를 강조하는 기능입니다.
# 하이라이트 쿼리 설정하기
하이라이트 쿼리를 설정하려면 `SolrQuery::getHighlightQuery()` 메소드를 사용합니다. 이 메소드는 `SolrQuery` 객체에 하이라이트 쿼리를 설정합니다.
#hostingforum.kr
php
use SolariumQueryTypeQueryQuery;
use SolariumQueryTypeQueryQueryInterface;
// SolrQuery 객체 생성
$query = new Query();
// 하이라이트 쿼리 설정
$query->getHighlight()->setQuery('example');
# 하이라이트 옵션 설정하기
하이라이트 옵션을 설정하려면 `SolrQuery::getHighlight()` 메소드를 사용합니다. 이 메소드는 `Highlight` 객체를 반환하며, 이 객체를 사용하여 하이라이트 옵션을 설정할 수 있습니다.
#hostingforum.kr
php
// 하이라이트 옵션 설정
$query->getHighlight()
->setFields('title') // 하이라이트할 필드
->setFormat('plain') // 하이라이트 형식 (plain, html)
->setFraction(0.5) // 하이라이트 할 텍스트의 비율
->setEncoder('html') // 텍스트 인코더 (html, none)
->setRequireFieldMatch('true'); // 하이라이트 필드와 검색 쿼리가 일치해야 함
# 예제
다음 예제는 하이라이트 쿼리를 설정하고 하이라이트 옵션을 설정한 후 Solr에 쿼리를 보냅니다.
#hostingforum.kr
php
use SolariumQueryTypeQueryQuery;
use SolariumQueryTypeQueryQueryInterface;
use SolariumCoreClientClient;
use SolariumCoreQueryResultResultInterface;
// SolrQuery 객체 생성
$query = new Query();
// 하이라이트 쿼리 설정
$query->getHighlight()->setQuery('example');
// 하이라이트 옵션 설정
$query->getHighlight()
->setFields('title') // 하이라이트할 필드
->setFormat('plain') // 하이라이트 형식 (plain, html)
->setFraction(0.5) // 하이라이트 할 텍스트의 비율
->setEncoder('html') // 텍스트 인코더 (html, none)
->setRequireFieldMatch('true'); // 하이라이트 필드와 검색 쿼리가 일치해야 함
// Solr 클라이언트 객체 생성
$client = new Client();
// 쿼리 보내기
$result = $client->query($query);
// 결과 출력
foreach ($result->getDocuments() as $document) {
echo $document->getTitle() . "
";
echo $document->getHighlight() . "
";
}
이 예제에서는 하이라이트 쿼리를 설정하고 하이라이트 옵션을 설정한 후 Solr에 쿼리를 보냅니다. 결과는 하이라이트된 텍스트를 포함하는 문서가 반환됩니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.