
SolrQuery::getHighlight를 사용하여 문서의 하이라이트를 얻으려면, 하이라이트를 얻기 위한 필드명을 지정할 때는 `setHighlight` 메서드를 사용합니다. 이 메서드는 여러 개의 필드를 지정할 수 있으므로, 여러 필드를 지정할 경우에는 배열을 사용합니다.
예를 들어, 다음과 같이 하이라이트를 얻기 위한 필드명을 지정할 수 있습니다.
#hostingforum.kr
php
$query = new SolrQuery();
$query->setHighlight(array('name', 'description'));
또는, 하이라이트를 얻기 위한 필드명을 지정할 때는 `setHighlight` 메서드의 두 번째 인자로 필드명과 하이라이트 태그를 지정할 수 있습니다. 예를 들어, 다음과 같이 하이라이트를 얻기 위한 필드명을 지정할 수 있습니다.
#hostingforum.kr
php
$query = new SolrQuery();
$query->setHighlight('name', '', '');
$query->setHighlight('description', '', '');
이러한 방법으로 하이라이트를 얻기 위한 필드명을 지정할 수 있습니다.
또한, 하이라이트를 얻기 위한 필드명을 지정할 때는, 하이라이트를 얻기 위한 필드명이 실제로 존재하는지 확인하는 방법도 있습니다. 예를 들어, 다음과 같이 하이라이트를 얻기 위한 필드명을 지정하고, 결과를 확인할 수 있습니다.
#hostingforum.kr
php
$query = new SolrQuery();
$query->setHighlight('name', '', '');
$result = $searchClient->query($query);
if ($result->getResponse()->getResponseCode() == 0) {
$highlight = $result->getResponse()->getHighlight();
if (isset($highlight['name'])) {
echo "하이라이트를 얻기 위한 필드명 'name'이 실제로 존재합니다.";
} else {
echo "하이라이트를 얻기 위한 필드명 'name'이 실제로 존재하지 않습니다.";
}
}
이러한 방법으로 하이라이트를 얻기 위한 필드명을 지정할 수 있습니다.
2025-04-29 09:19