라이브러리

[PHP] SolrQuery::setHighlightUsePhraseHighlighter - 쿼리 구문 내에 나타날 때만 구문 용어를 강조 표시할지 여부




PHP에서 SolrQuery::setHighlightUsePhraseHighlighter 사용하기


SolrQuery::setHighlightUsePhraseHighlighter 메소드는 Solr 쿼리에서 사용할 하이라이트 플러그인을 설정하는 데 사용됩니다. 하이라이트 플러그인은 검색 결과에서 중요 정보를 강조하는 데 사용됩니다.

하이라이트 플러그인 종류


Solr에서 제공하는 하이라이트 플러그인 종류는 다음과 같습니다.

- `phrase`: 단어를 그대로 사용하여 하이라이트합니다.
- `regex`: 정규표현식을 사용하여 하이라이트합니다.
- `simple`: 단순한 하이라이트를 사용합니다.

예제


#hostingforum.kr
php

use SolariumClient;

use SolariumQueryTypeQueryQuery;



// Solr 클라이언트 생성

$client = new Client($config);



// 쿼리 생성

$query = $client->createUpdateQuery()

    ->setRows(10)

    ->setHighlighting(array('name' => array('fragmenter' => 'gap', 'numberFragments' => 3, 'usePhraseHighlighter' => true)));



// 쿼리 실행

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



// 결과 출력

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

    echo $document->getName() . "
";

    echo $document->getHighlights()['name'] . "
";

}



설정


SolrQuery::setHighlightUsePhraseHighlighter 메소드는 `usePhraseHighlighter` 옵션을 설정하는 데 사용됩니다. 이 옵션은 `true`로 설정하면 단어를 그대로 사용하여 하이라이트합니다.

예제 (단어 그대로 하이라이트)


#hostingforum.kr
php

use SolariumClient;

use SolariumQueryTypeQueryQuery;



// Solr 클라이언트 생성

$client = new Client($config);



// 쿼리 생성

$query = $client->createUpdateQuery()

    ->setRows(10)

    ->setHighlighting(array('name' => array('fragmenter' => 'gap', 'numberFragments' => 3, 'usePhraseHighlighter' => true)));



// 쿼리 실행

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



// 결과 출력

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

    echo $document->getName() . "
";

    echo $document->getHighlights()['name'] . "
";

}



예제 (정규표현식 하이라이트)


#hostingforum.kr
php

use SolariumClient;

use SolariumQueryTypeQueryQuery;



// Solr 클라이언트 생성

$client = new Client($config);



// 쿼리 생성

$query = $client->createUpdateQuery()

    ->setRows(10)

    ->setHighlighting(array('name' => array('fragmenter' => 'gap', 'numberFragments' => 3, 'usePhraseHighlighter' => false, 'regex' => '.*')));



// 쿼리 실행

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



// 결과 출력

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

    echo $document->getName() . "
";

    echo $document->getHighlights()['name'] . "
";

}



예제 (단순 하이라이트)


#hostingforum.kr
php

use SolariumClient;

use SolariumQueryTypeQueryQuery;



// Solr 클라이언트 생성

$client = new Client($config);



// 쿼리 생성

$query = $client->createUpdateQuery()

    ->setRows(10)

    ->setHighlighting(array('name' => array('fragmenter' => 'gap', 'numberFragments' => 3, 'usePhraseHighlighter' => false)));



// 쿼리 실행

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



// 결과 출력

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

    echo $document->getName() . "
";

    echo $document->getHighlights()['name'] . "
";

}



참고


SolrQuery::setHighlightUsePhraseHighlighter 메소드는 Solr 쿼리에서 사용할 하이라이트 플러그인을 설정하는 데 사용됩니다. 하이라이트 플러그인은 검색 결과에서 중요 정보를 강조하는 데 사용됩니다. Solr에서 제공하는 하이라이트 플러그인 종류는 `phrase`, `regex`, `simple`입니다. 예제를 포함하여 SolrQuery::setHighlightUsePhraseHighlighter 메소드의 사용 방법을 설명했습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 218 페이지

검색

게시물 검색