
SolrQuery::setHighlight 메소드는 Solr 쿼리에서 하이라이트 기능을 활성화하여 검색 결과에서 중요 키워드를 강조하는 역할을 합니다.
highlighter를 설정하는 방법은 다음과 같습니다.
1. `setHighlight(true)` 메소드를 사용하여 하이라이트 기능을 활성화합니다.
2. `setHighlighterName()` 메소드를 사용하여 하이라이트를 위한 알고리즘을 설정합니다. 예를 들어, `setHighlighterName('org.apache.solr.highlight.PlainTextHighlighter')`를 사용하여 단순 텍스트 하이라이트를 설정할 수 있습니다.
3. `setHighlightQuery()` 메소드를 사용하여 하이라이트할 쿼리를 설정합니다. 예를 들어, `setHighlightQuery('키워드')`를 사용하여 특정 키워드를 하이라이트할 수 있습니다.
highlighter를 설정했을 때, query에 맞는 문서를 검색하는 방법은 다음과 같습니다.
1. `setParam('hl', true)` 메소드를 사용하여 하이라이트 기능을 활성화합니다.
2. `setParam('hl.fl', '키워드')` 메소드를 사용하여 하이라이트할 필드를 설정합니다.
3. `setParam('hl.snippets', 3)` 메소드를 사용하여 하이라이트할 시그니처 개수를 설정합니다.
4. `setParam('hl.fragsize', 100)` 메소드를 사용하여 하이라이트할 텍스트 크기를 설정합니다.
예를 들어, 다음과 같이 하이라이트 기능을 활성화하고 하이라이트할 필드를 설정할 수 있습니다.
#hostingforum.kr
php
$query = new SolrQuery();
$query->setHighlight(true);
$query->setHighlighterName('org.apache.solr.highlight.PlainTextHighlighter');
$query->setHighlightQuery('키워드');
$query->setParam('hl', true);
$query->setParam('hl.fl', '키워드');
$query->setParam('hl.snippets', 3);
$query->setParam('hl.fragsize', 100);
2025-07-20 11:39