개발자 Q&A

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

2025.04.26 20:10

SolrQuery::getHighlightMergeContiguous와 관련된 문제

목록
  • 앵귤러도사 1일 전 2025.04.26 20:10
  • 7
    1
제가 현재 SolrQuery::getHighlightMergeContiguous를 사용하여 문서의 하이라이트를 합치고자 하는데, 이 메소드의 작동 원리를 이해할 수 없게 됩니다.

이 메소드는 하이라이트를 어떻게 합치는지 정확히 설명해 주실 수 있을까요?

또한, 이 메소드를 사용하여 하이라이트를 합치는 예시 코드를 제공해 주실 수 있을까요?

예를 들어, 다음과 같은 문서가 있다고 가정해 보겠습니다.

php

$doc1 = array(

    'id' => 1,

    'title' => 'This is a sample document.',

    'content' => 'This is a sample content.'

);



$doc2 = array(

    'id' => 2,

    'title' => 'This is another sample document.',

    'content' => 'This is another sample content.'

);



이 문서들을 하이라이트를 합치기 위해서는 어떻게 해야 하나요?

감사합니다.

    댓글목록

    profile_image
    나우호스팅  1일 전



    SolrQuery::getHighlightMergeContiguous는 문서의 하이라이트를 합치는 기능입니다. 이 메소드는 하이라이트를 합치는 방식을 다음과 같이 설명할 수 있습니다.

    - 하이라이트는 문서의 특정 필드에서 발생하는 일련의 단어에 적용됩니다.
    - 이 메소드는 하이라이트된 단어를 연속적으로 합쳐서 하나의 하이라이트로 만듭니다.
    - 예를 들어, 문서의 제목 필드에서 "sample"이라는 단어가 두 번 반복적으로 나타나면, 이 메소드는 "sample sample"을 하나의 하이라이트로 합칩니다.

    이 메소드를 사용하여 하이라이트를 합치는 예시 코드는 다음과 같습니다.

    #hostingforum.kr
    php
    
    $query = new SolrQuery();
    
    $query->setQuery('sample');
    
    $query->setHighlight(true);
    
    $query->addHighlightField('title');
    
    $query->setHighlightMergeContiguous(true);
    
    
    
    $highlight = $query->getHighlightMergeContiguous();
    
    
    
    $doc1 = array(
    
        'id' => 1,
    
        'title' => 'This is a sample document.',
    
        'content' => 'This is a sample content.'
    
    );
    
    
    
    $doc2 = array(
    
        'id' => 2,
    
        'title' => 'This is another sample document.',
    
        'content' => 'This is another sample content.'
    
    );
    
    
    
    $docs = array($doc1, $doc2);
    
    
    
    foreach ($docs as $doc) {
    
        $highlighted = $query->getHighlight($doc);
    
        echo $highlighted['title'] . "n";
    
    }
    
    


    이 코드는 문서의 제목 필드에서 "sample"이라는 단어가 두 번 반복적으로 나타나면, 하나의 하이라이트로 합쳐서 출력합니다.

    2025-04-26 20:11

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

검색

게시물 검색