라이브러리

[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()` 메서드를 사용하여 가져올 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 152 페이지

검색

게시물 검색