
SolrQuery::getHighlightQuery를 사용하여 하이라이팅 쿼리를 구현할 때, 하이라이팅 필드의 이름을 지정할 때는 다음과 같은 규칙을 따릅니다.
- 하이라이팅 필드의 이름은 반드시 쿼리에서 사용할 필드 이름과 동일해야 합니다. 예를 들어, 하이라이팅 필드 이름이 "content"이면, 쿼리에서 사용할 필드 이름도 "content"이어야 합니다.
- 하이라이팅 필드의 이름은 반드시 소문자로 작성해야 합니다. 예를 들어, 하이라이팅 필드 이름이 "Content"이면, 쿼리에서 사용할 필드 이름은 "content"이어야 합니다.
하이라이팅 쿼리를 구성할 때, 사용할 수 있는 옵션은 다음과 같습니다.
- fragsize: 하이라이팅된 텍스트의 최대 길이를 지정합니다. 예를 들어, "content" 필드에 대해 하이라이팅을 수행할 때, fragsize를 100으로 설정하면, 하이라이팅된 텍스트의 최대 길이는 100자입니다.
- snippet: 하이라이팅된 텍스트의 개수를 지정합니다. 예를 들어, "content" 필드에 대해 하이라이팅을 수행할 때, snippet을 3으로 설정하면, 하이라이팅된 텍스트는 최대 3개가 반환됩니다.
- highlightQuery: 하이라이팅 쿼리를 직접 지정할 수 있습니다. 예를 들어, "content" 필드에 대해 하이라이팅을 수행할 때, highlightQuery를 "content:keyword"로 설정하면, 하이라이팅된 텍스트는 "keyword"라는 단어를 포함하는 텍스트만 반환됩니다.
예를 들어, "content" 필드에 대해 하이라이팅을 수행할 때, 다음과 같은 옵션을 사용할 수 있습니다.
#hostingforum.kr
php
$query = new SolrQuery();
$query->getHighlightQuery('content')
->setFragsize(100)
->setSnippetSize(3);
이러한 옵션을 사용하여 하이라이팅 쿼리를 구성할 수 있습니다.
2025-07-28 13:36