라이브러리

[PHP] SolrQuery::getMltMaxWordLength - 무시되는 단어의 최대 길이를 반환합니다.




SolrQuery::getMltMaxWordLength

SolrQuery는 Apache Solr와 통신하기 위한 PHP 클래스입니다. SolrQuery::getMltMaxWordLength은 MultiTerm Highlighter (MLT) 설정 중 하나입니다. MLT는 텍스트 검색 결과에 하이라이트 효과를 추가하는 기능입니다.

MLT의 MaxWordLength는 하이라이트 효과를 적용할 때 사용되는 단어의 최대 길이를 지정하는 옵션입니다. 예를 들어, MaxWordLength을 10으로 설정하면, 하이라이트 효과를 적용할 때 단어의 길이가 10자 이상인 경우는 하이라이트되지 않습니다.

예제

#hostingforum.kr
php

// SolrQuery 인스턴스 생성

$query = new SolrQuery();



// MLT 설정

$query->setHighlighting(true);

$query->addHighlightField('title'); // 하이라이트할 필드 지정

$query->setHighlightMaxDocChars(1000); // 하이라이트할 텍스트의 최대 길이

$query->setHighlightMaxDocCharsPerField(100); // 하이라이트할 필드의 최대 길이

$query->setHighlightSnippets(3); // 하이라이트할 스니펫의 개수

$query->setHighlightMaxWordLength(10); // 하이라이트할 단어의 최대 길이



// Solr 서버 주소 설정

$query->setUrl('http://localhost:8983/solr/mycollection/select');



// 검색 쿼리 설정

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



// 검색 결과 가져오기

$result = $query->execute();



// 결과 출력

foreach ($result->getResponse()->getResponse()->docs as $doc) {

    echo $doc->title . "
";

    echo $doc->highlighting->title . "
";

}



이 예제에서는 SolrQuery 인스턴스를 생성하고, MLT 설정을 수행합니다. 하이라이트 효과를 적용할 필드를 지정하고, 하이라이트할 텍스트의 최대 길이를 설정합니다. 또한 하이라이트할 단어의 최대 길이를 10으로 설정하여, 하이라이트 효과를 적용할 때 단어의 길이가 10자 이상인 경우는 하이라이트되지 않습니다.

결과

#hostingforum.kr
php

키워드

키워드



이 예제에서는 키워드가 하이라이트된 결과가 출력됩니다. 단어의 길이가 10자 이상인 경우는 하이라이트되지 않습니다.

참고

* SolrQuery::getMltMaxWordLength은 MLT 설정 중 하나입니다. 다른 MLT 설정 옵션도 존재합니다. 예를 들어, `setHighlightMaxDocChars`는 하이라이트할 텍스트의 최대 길이를 지정하는 옵션입니다.
* 하이라이트 효과를 적용할 때 단어의 길이가 10자 이상인 경우는 하이라이트되지 않습니다. 단어의 길이가 10자 이하인 경우는 하이라이트됩니다.
* 하이라이트 효과를 적용할 때 스니펫의 개수는 `setHighlightSnippets` 옵션으로 지정할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색