Я использую Lucene для полнотекстового поиска, т.е. когда пользователь вводит строку поиска «abc», я автоматически добавляю символы подстановки и ищу «abc *» или «*abc*
» (в зависимости от поля). В действительности, запросы выглядят более или менее так:
field1:abc* field2:*abc* field3:*abc*
Теперь я хотел бы выделить в результатах поиска только строк символов, введенных пользователем (не все термины, которые соответствуют групповым символам). Например, для вышеупомянутой строки поиска «abc» я хотел бы иметь такие подсветки:
abc d abc d lorem ipsum
Lorem Ipsum ABC
abc xyz lorem ipsum
lorem ipsum xyq abc
Пример использования Lucene Highligher (http://lucene.apache.org/java/3_5_0/api/contrib-highlighter/org/apache/lucene/search/highlight/package-summary.html) прекрасно работает с выделением целых терминов, но есть ли (простой) способ выделить только введенный пользователем текст?