
SolrQuery::setHighlightRegexPattern을 사용하여 쿼리 하일라이트 기능을 구현할 때, 하일라이트 패턴이 제대로 적용되지 않는 문제가 발생하는 경우, 하일라이트 패턴을 Regex Pattern으로 지정했을 때는 다음과 같은 방법을 사용할 수 있습니다.
1. 하일라이트 패턴을 정규식으로 지정하지 말고, 하일라이트 패턴을 문자열로 지정합니다.
2. 하일라이트 패턴을 정규식으로 지정했을 때, 하일라이트 패턴을 escape 처리하여 정규식으로 인식되지 않도록 합니다.
3. 하일라이트 패턴을 정규식으로 지정했을 때, 하일라이트 패턴을 전방 탐색으로 지정하여 하일라이트 패턴이 제대로 적용되도록 합니다.
예를 들어, 하일라이트 패턴을 정규식으로 지정했을 때, 하일라이트 패턴을 escape 처리하여 정규식으로 인식되지 않도록 하기 위해, 다음과 같이 하일라이트 패턴을 escape 처리하여 지정할 수 있습니다.
#hostingforum.kr
php
$query->setHighlightRegexPattern('\\d+');
또는, 하일라이트 패턴을 전방 탐색으로 지정하여 하일라이트 패턴이 제대로 적용되도록 하기 위해, 다음과 같이 하일라이트 패턴을 전방 탐색으로 지정할 수 있습니다.
#hostingforum.kr
php
$query->setHighlightRegexPattern('(?<=\d+)');
이러한 방법을 사용하여 하일라이트 패턴을 정규식으로 지정했을 때, 하일라이트 패턴이 제대로 적용되도록 할 수 있습니다.
2025-03-11 01:34