라이브러리
[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()` 메소드를 사용해야 합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.