Я использую функцию выделения подсветки SOLR, чтобы установить подсветку в документе, соответствующем запросу.Как обрабатывать теги html в фрагменте выделения в SOLR
Проблема заключается в том, что одно из полей содержит допустимый HTML, но выделение возвращенного фрагмента недействительно HTML, поэтому после разворачивания всей страницы макета страницы.
Для примера запроса field:lucene
получить мне этот документ:
<p><a href="/some/link">Here is the discussion, what the difference between SOLR, Elasticsearch and Lucene</a></p>
фрагмент Выделить это Elasticsearch and <em>Lucene</em></a></p>
.
Один из вариантов: Я попытался установить размер фрагмента = 0 (вернуть содержимое всего поля), но он может быть очень большим, и мне нужно всего несколько фрагментов для страницы результатов.
Другой вариант - удалить все теги HTML и показать фрагмент в виде обычного текста, но для выделения выделены теги <em>
. Также некоторые фрагменты могут быть разбиты на фрагмент, например, </p
, что означает, что мы не можем использовать синтаксические анализаторы html для этой цели.
Похоже, что это обычная проблема в поиске, есть ли какой-то современный подход к ее устранению?