개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.20 11:38

SolrQuery::setHighlight 관련 질문

목록
  • 패스워드보안성애자 2일 전 2025.07.20 11:38
  • 29
    1
제가 공부 중인 SolrQuery 클래스에서 setHighlight 메소드에 대해 궁금한 점이 있습니다.

setHighlight 메소드는 어떤 역할을 하는가요?
highlighter를 설정하는 방법은 어떤 것들이 있나요?
highlighter를 설정했을 때, query에 맞는 문서를 어떻게 검색할 수 있나요?

위의 질문들에 대한 답변을 부탁드립니다.

    댓글목록

    profile_image
    나우호스팅  2일 전



    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 38,204건 / 27 페이지

검색

게시물 검색