
SolrQuery::getHighlightSnippets을 사용할 때, highlightSnippets를 2개 이상 지정해도 첫 번째 highlightSnippets만 적용되는 이유는 SolrQuery::addHighlightField 메서드가 오버라이딩되기 때문입니다.
SolrQuery::addHighlightField 메서드는 highlightSnippets를 1개만 허용합니다. 따라서 두 번째 highlightSnippets가 적용되지 않는 것입니다.
해결 방법은 두 번째 highlightSnippets를 다른 필드에 지정하는 것입니다.
예를 들어, 다음과 같은 코드를 사용할 수 있습니다.
#hostingforum.kr
php
$query = new SolrQuery();
$query->setHighlight('title');
$query->addHighlightField('title', array('fragmenter' => 'gap_policy', 'snippets' => 2));
$query->addHighlightField('subtitle', array('fragmenter' => 'regex', 'snippets' => 3));
이 코드를 사용하면 두 번째 highlightSnippets가 subtitle 필드에 적용됩니다.
2025-03-18 11:40