Всем привет!
Делаю во Views страницу поиска по индексу в search_api, используя для работы search_api_solr. Всё ок, но одна вещь не получается в нормальном виде - подсветка результатов.
Что у нас имеется?
Есть стандартный процессор Highlighting в search_api, который может подсветить ключевые слова в результате. Он делает всё отлично, но ищет в тексте тупо буква в букву слово, как оно в запросе. Хотя, Solr мне, благодаря разбивке слов на фрагменты, находит результат с другим окончанием. search_api такое слово не видит при выводе и не хайлайтит его
Но Бог с ним, когда мы используем search_api_solr в работе. Solr ведь сам умеет подсвечивать результат. В настройках поискового сервера есть волшебные галочки:
Retrieve result data from Solr + Highlight retrieved data
В итоге, при выводе результата во вьюхе, там я вижу разбивку моих полей (заголовок и текст) по словам через запятую, а если находит в них нужное слово - удаляет все слова и выделяет жирным одно, что я запрашиваю в поиске Круто... Но, в противовес стандартного процессора Highlighting, он слово выделяет и находит без учёта окончания. Как и хотелось бы.
Собственно, вопрос: можно ли как-то при выводе результатов видеть как бы объединённые достоинства обоих методов подсветки? Хочется, чтобы как обычно вывелся кусок текста, где находится искомое слово, этот кусок обрезан по бокам с троеточиями, найденное слово - подсвечено, а окончание - по-барабану.
Может я что-то недонастроил, или не так понял? Или вот эти подсвеченные слова, что мне возвращает Solr, придётся самому использовать в реализации того, что я хочу видеть в итоге на экране?
Заранее спасибо!
Комментарии
Тоже недавно столкнулся с такой проблемкой.
Решилась тем, что данные во views надо выводить полями.
Также не забудьте поставить галочку "Подстветка" (highlighting) во вкладке "Фильтры" настроек индекса.
Не работает при поиске по части слова. Да и вообще модуль кривой/косой если его использовать отдельно
Давно видел что проблема выделения результата поиска не решена и сам столкнулся с этой проблемой, вот решение - https://yadi.sk/d/BvWX4M8X3Ddn5E но модуль выделяет не полные слова а подстроку в строке