라이브러리
[PHP] SolrQuery::setHighlight - 강조 표시를 활성화하거나 비활성화합니다.
SolrQuery::setHighlight
SolrQuery::setHighlight은 SolrQuery 클래스의 메서드로, SOLR에서 문서의 하이라이트 기능을 사용할 수 있도록 합니다. 하이라이트 기능은 문서 내 특정 부분을 강조하여 검색 결과를 더 유용하게 표시할 수 있습니다.
하이라이트 설정 방법
하이라이트를 설정하려면 SolrQuery::setHighlight 메서드를 사용합니다. 이 메서드는 두 개의 매개변수를 받습니다.
- field: 하이라이트를 적용할 필드의 이름입니다.
- params: 하이라이트 설정을 위한 파라미터입니다.
예제
#hostingforum.kr
php
use SolariumClient;
use SolariumQueryTypeQueryQuery;
// SOLR 클라이언트 생성
$client = new Client($config);
// SOLR 쿼리 생성
$query = $client->createSolrQuery()
->setQuery('키워드')
->setHighlight('title') // 하이라이트 필드 설정
->setHighlightFields(['title']) // 하이라이트 필드 설정
->setHighlightSimplePre('') // 하이라이트 전처리
->setHighlightSimplePost('') // 하이라이트 후처리
->setHighlightRequireFieldMatch(true) // 하이라이트 필드 매칭 여부
->setHighlightMaxAnalyzedChars(1000) // 분석된 문자열 최대 길이
->setHighlightFragsize(100) // 하이라이트 문자열 길이
->setHighlightSnippets(3) // 하이라이트 개수
->setHighlightRegexFragmentSize(100) // 하이라이트 정규식 문자열 길이
->setHighlightRegexFragmentGap(10) // 하이라이트 정규식 문자열 간격
->setHighlightRegexFragmenter('groovy') // 하이라이트 정규식 프래그먼터
->setHighlightUsePhraseHighlighter(true) // 하이라이트 구문 분석 여부
->setHighlightRegexPattern('') // 하이라이트 정규식 패턴
->setHighlightRegexPatternFlags('') // 하이라이트 정규식 플래그
;
// SOLR 검색 결과 가져오기
$result = $client->query($query)->execute();
// 하이라이트 결과 가져오기
$highlight = $result->getDocuments()[0]->getHighlighting();
// 하이라이트 결과 출력
echo $highlight['title'][0];
하이라이트 설정 파라미터
- field: 하이라이트를 적용할 필드의 이름입니다.
- params: 하이라이트 설정을 위한 파라미터입니다.
- simplePre: 하이라이트 전처리 문자열입니다.
- simplePost: 하이라이트 후처리 문자열입니다.
- requireFieldMatch: 하이라이트 필드 매칭 여부입니다.
- maxAnalyzedChars: 분석된 문자열 최대 길이입니다.
- fragsize: 하이라이트 문자열 길이입니다.
- snippets: 하이라이트 개수입니다.
- regexFragmentSize: 하이라이트 정규식 문자열 길이입니다.
- regexFragmentGap: 하이라이트 정규식 문자열 간격입니다.
- regexFragmenter: 하이라이트 정규식 프래그먼터입니다.
- usePhraseHighlighter: 하이라이트 구문 분석 여부입니다.
- regexPattern: 하이라이트 정규식 패턴입니다.
- regexPatternFlags: 하이라이트 정규식 플래그입니다.
참고
- SOLR 하이라이트 기능은 SOLR 4.0 이상에서 사용할 수 있습니다.
- 하이라이트 설정 파라미터는 SOLR 4.0 이상에서 사용할 수 있습니다.
- 하이라이트 결과는 SOLR 검색 결과의 `getHighlighting()` 메서드를 사용하여 가져올 수 있습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.