라이브러리

[PHP] SolrQuery::getHighlightSnippets - 필드당 생성할 강조 표시된 스니펫의 최대 수를 반환합니다.




SolrQuery::getHighlightSnippets()

SolrQuery::getHighlightSnippets()는 SOLR 쿼리에서 하이라이트된 텍스트를 가져오는 메소드입니다. 하이라이트된 텍스트는 SOLR 쿼리에서 검색된 텍스트 중에서 하이라이트된 텍스트를 의미합니다. 이 메소드는 SOLR 쿼리에서 하이라이트된 텍스트를 가져오기 위해 사용됩니다.

예제

#hostingforum.kr
php

// SOLR 서버 주소

$solrServer = 'http://localhost:8983/solr';



// SOLR 쿼리

$query = new SolrQuery();

$query->setQuery('키워드');

$query->setHighlight('필드명');

$query->setHighlightFragsize(5); // 하이라이트된 텍스트의 길이

$query->setHighlightRequireWordSet(false); // 하이라이트된 텍스트가 필드의 전체 텍스트와 일치해야 하는지 여부



// SOLR 서버에 쿼리 전송

$client = new SolrClient(array('host' => $solrServer));

$response = $client->query($query);



// 하이라이트된 텍스트 가져오기

$highlighted = $response->getResponse()->getHighlighting();

print_r($highlighted);



// 하이라이트된 텍스트 출력

foreach ($highlighted as $key => $value) {

    echo "하이라이트된 텍스트: $key
";

    foreach ($value as $snippet) {

        echo "  - $snippet
";

    }

}



설명

* `$solrServer` 변수는 SOLR 서버 주소를 저장합니다.
* `$query` 변수는 SOLR 쿼리를 저장합니다. `setQuery()` 메소드를 사용하여 쿼리를 설정하고 `setHighlight()` 메소드를 사용하여 하이라이트된 텍스트를 설정합니다.
* `$client` 변수는 SOLR 클라이언트를 생성합니다. `query()` 메소드를 사용하여 SOLR 서버에 쿼리를 전송합니다.
* `$response` 변수는 SOLR 서버의 응답을 저장합니다.
* `$highlighted` 변수는 하이라이트된 텍스트를 저장합니다. `getResponse()->getHighlighting()` 메소드를 사용하여 하이라이트된 텍스트를 가져옵니다.
* 하이라이트된 텍스트를 출력하기 위해 `foreach` 루프를 사용합니다. `$highlighted` 배열의 키를 가져와 하이라이트된 텍스트를 출력합니다.

주의

* SOLR 쿼리에서 하이라이트된 텍스트를 가져올 때는 `setHighlight()` 메소드를 사용하여 하이라이트된 텍스트를 설정해야 합니다.
* 하이라이트된 텍스트의 길이를 설정하기 위해 `setHighlightFragsize()` 메소드를 사용해야 합니다.
* 하이라이트된 텍스트가 필드의 전체 텍스트와 일치해야 하는지 여부를 설정하기 위해 `setHighlightRequireWordSet()` 메소드를 사용해야 합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색