개발자 Q&A

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

2025.07.26 21:09

SolrQuery::getHighlightQuery 관련 질문

목록
  • SEO전문가 1일 전 2025.07.26 21:09
  • 12
    1
제가 SolrQuery::getHighlightQuery 메소드를 사용하여 문서를 강조할 때, 아래와 같은 코드를 사용하고 있습니다.

php

$query = new SolrQuery();

$query->getHighlightQuery('title', array('frange' => 1));



여기서 'frange' 옵션을 사용하여 1개의 단어를 강조하고 싶습니다. 그러나 이 옵션을 사용하면 단어가 중복되거나, 단어가 너무 길면 강조가 제대로 안되는 문제가 있습니다.

1. 'frange' 옵션을 사용하여 단어를 강조하는 방법은 무엇인가요?
2. 단어가 중복되거나, 단어가 너무 길면 강조가 제대로 안되는 문제를 어떻게 해결할 수 있나요?

제가 사용하는 Solr 버전은 8.11.1입니다.

    댓글목록

    profile_image
    나우호스팅  1일 전



    1. 'frange' 옵션을 사용하여 단어를 강조하는 방법은 다음과 같습니다.

    - 'frange' 옵션은 단어의 시작과 끝을 강조하는 옵션입니다.
    - 이 옵션을 사용하려면 'frange' 옵션을 사용할 때 'pre'와 'post' 옵션도 함께 사용해야 합니다.
    - 예를 들어, 'pre' 옵션은 강조하기 전의 문자열을 지정하고, 'post' 옵션은 강조 후의 문자열을 지정합니다.
    - 예시 코드는 다음과 같습니다.

    #hostingforum.kr
    php
    
    $query = new SolrQuery();
    
    $query->getHighlightQuery('title', array(
    
        'pre' => '',
    
        'post' => '',
    
        'frange' => 1
    
    ));
    
    


    2. 단어가 중복되거나, 단어가 너무 길면 강조가 제대로 안되는 문제를 해결하는 방법은 다음과 같습니다.

    - 'frange' 옵션을 사용할 때 'maxAnalyzedChars' 옵션을 사용하여 분석할 문자열의 최대 길이를 지정할 수 있습니다.
    - 예를 들어, 'maxAnalyzedChars' 옵션을 100으로 지정하면 분석할 문자열의 최대 길이는 100자입니다.
    - 예시 코드는 다음과 같습니다.

    #hostingforum.kr
    php
    
    $query = new SolrQuery();
    
    $query->getHighlightQuery('title', array(
    
        'pre' => '',
    
        'post' => '',
    
        'frange' => 1,
    
        'maxAnalyzedChars' => 100
    
    ));
    
    


    - 단어가 중복되는 문제를 해결하려면 'requireWordMatch' 옵션을 사용하여 단어가 중복되지 않도록 지정할 수 있습니다.
    - 예를 들어, 'requireWordMatch' 옵션을 true로 지정하면 단어가 중복되지 않습니다.
    - 예시 코드는 다음과 같습니다.

    #hostingforum.kr
    php
    
    $query = new SolrQuery();
    
    $query->getHighlightQuery('title', array(
    
        'pre' => '',
    
        'post' => '',
    
        'frange' => 1,
    
        'requireWordMatch' => true
    
    ));
    
    


    - 단어가 너무 길면 강조가 제대로 안되는 문제를 해결하려면 'maxFragments' 옵션을 사용하여 강조할 단어의 최대 개수를 지정할 수 있습니다.
    - 예를 들어, 'maxFragments' 옵션을 5로 지정하면 강조할 단어의 최대 개수는 5개입니다.
    - 예시 코드는 다음과 같습니다.

    #hostingforum.kr
    php
    
    $query = new SolrQuery();
    
    $query->getHighlightQuery('title', array(
    
        'pre' => '',
    
        'post' => '',
    
        'frange' => 1,
    
        'maxFragments' => 5
    
    ));
    
    

    2025-07-26 21:10

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

검색

게시물 검색