라이브러리

[PHP] SolrQuery::getHighlightFormatter - 강조 표시된 출력에 대한 포매터를 반환합니다.




PHP 에서 SolrQuery::getHighlightFormatter


SolrQuery::getHighlightFormatter는 SolrQuery 클래스의 메소드로, 하이라이트 형식에 대한 설정을 반환합니다. 하이라이트 형식은 검색 결과에서 검색어와 관련된 텍스트를 강조하는 데 사용됩니다.

# 기본 사용법


SolrQuery::getHighlightFormatter를 사용하려면 SolrQuery 클래스를 사용하여 검색 쿼리를 생성하고, getHighlightFormatter 메소드를 호출하여 하이라이트 형식을 설정해야 합니다.

#hostingforum.kr
php

use SolariumQueryTypeQueryQuery;

use SolariumQueryTypeQuerySelectQuery;

use SolariumQueryTypeQuerySelectHighlight;



// Solr 인스턴스 생성

$solr = new SolariumClient();



// 검색 쿼리 생성

$query = $solr->createSelect();

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

$query->setHighlighting(true);



// 하이라이트 형식 설정

$highlightFormatter = $query->getHighlightFormatter();

$highlightFormatter->setFormat('plain');

$highlightFormatter->setFragmenter('query');

$highlightFormatter->setBoundary(' ');

$highlightFormatter->setMaxAnalyzedChars(1000);



// 검색 결과 가져오기

$result = $solr->execute($query);



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

foreach ($result->getDocuments() as $document) {

    echo $document->getHighlighting()['키워드'][0] . "
";

}



# 하이라이트 형식 설정


하이라이트 형식은 `plain`, `html`, `html_simple` 중 하나를 지정할 수 있습니다.

* `plain`: 단순 텍스트 형식으로 하이라이트합니다.
* `html`: HTML 형식으로 하이라이트합니다.
* `html_simple`: 단순 HTML 형식으로 하이라이트합니다.

하이라이트 형식은 `setFormat` 메소드를 사용하여 설정할 수 있습니다.

#hostingforum.kr
php

$highlightFormatter->setFormat('plain');



# 하이라이트 구간 설정


하이라이트 구간은 `setBoundary` 메소드를 사용하여 설정할 수 있습니다. 기본적으로 구간은 공백으로 설정됩니다.

#hostingforum.kr
php

$highlightFormatter->setBoundary(' ');



# 하이라이트 텍스트 최대 길이 설정


하이라이트 텍스트 최대 길이는 `setMaxAnalyzedChars` 메소드를 사용하여 설정할 수 있습니다. 기본적으로 최대 길이는 1000으로 설정됩니다.

#hostingforum.kr
php

$highlightFormatter->setMaxAnalyzedChars(1000);



# 하이라이트 구간 분리기 설정


하이라이트 구간 분리기는 `setFragmenter` 메소드를 사용하여 설정할 수 있습니다. 기본적으로 구간 분리기는 `query`로 설정됩니다.

#hostingforum.kr
php

$highlightFormatter->setFragmenter('query');



# 예제


위의 예제에서, `키워드`를 검색하고, 하이라이트 형식은 `plain`으로 설정되어 있습니다. 하이라이트 구간은 공백으로 설정되어 있으며, 하이라이트 텍스트 최대 길이는 1000으로 설정되어 있습니다.

#hostingforum.kr
php

use SolariumQueryTypeQueryQuery;

use SolariumQueryTypeQuerySelectQuery;

use SolariumQueryTypeQuerySelectHighlight;



// Solr 인스턴스 생성

$solr = new SolariumClient();



// 검색 쿼리 생성

$query = $solr->createSelect();

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

$query->setHighlighting(true);



// 하이라이트 형식 설정

$highlightFormatter = $query->getHighlightFormatter();

$highlightFormatter->setFormat('plain');

$highlightFormatter->setFragmenter('query');

$highlightFormatter->setBoundary(' ');

$highlightFormatter->setMaxAnalyzedChars(1000);



// 검색 결과 가져오기

$result = $solr->execute($query);



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

foreach ($result->getDocuments() as $document) {

    echo $document->getHighlighting()['키워드'][0] . "
";

}



이 예제는 `키워드`를 검색하고, 하이라이트 형식은 `plain`으로 설정되어 있으며, 하이라이트 구간은 공백으로 설정되어 있으며, 하이라이트 텍스트 최대 길이는 1000으로 설정되어 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색