У меня есть поле тела, которое может содержать html-текст из богатого текстового редактора. Я хочу иметь возможность возвращать от него выделенные фрагменты, но с удаленным html.Как выделить термин запроса в поле, содержащем html в Solr
Возьмите текст ниже индексируется:
<p class="something">some text here with words and other text</p>
Если вы ищете «словами», вы можете получить следующие выделения фрагмента (в зависимости от длины фрагмента и т.д.):
class="something">some text here with <em>words</em> and other text</p>
или class="something">some text here with <em>words</em> and other text
Где HTML разделен, что вызовет проблемы с обработкой на интерфейсе. Я хочу вычеркнуть html до того, как будет применена подсветка. Я пробовал разные компоненты выделения, но не видел никаких свойств, которые делают трюк.
Нужно ли убирать HTML перед индексированием? Или есть еще одна техника для этого?
В настоящее время я использую HTMLStripCharFilterFactory, чтобы вырезать HTML во время индекса, но компонент выделения, используя базовые хранимые данные, которые являются исходным html.
Для тех, кто попадается с той же проблемой ... Я в конечном итоге зачистки HTML, прежде чем он приходит в Solr –