Solr UI, выделение и EscapeTool - PullRequest
1 голос
/ 12 мая 2011

Я использую инструмент "Escape Tool" из стандартного набора инструментов Solr. Я использую его для отображения текстовых полей, в которые могут быть встроены HTML-теги. Я делаю это на уровне документа интерфейса скорости. То есть Я убегаю прямо перед тем, как он отобразится.

Я хочу включить подсветку, и успешно сделал это через solrconfig:

<str name="hl">false</str>
<str name="hl.fl">*</str>
<str name="hl.usePhraseHighlighter">true</str>
<str name="hl.requireFieldMatch">true</str>
<str name="hl.regex.maxAnalyzedChars">10000</str>
<str name="hl.useFastVectorHighlighter">true</str>

К сожалению, escape-инструмент экранирует тег по умолчанию (em), поэтому он не работает так, как предполагалось. Перемещение процедуры выхода до того, как произойдет выделение, звучит как оптимальное решение. Я не слишком знаком с порядком вещей, применяемых пользовательским интерфейсом при выводе.

Один из способов сделать это - экранировать поля при вставке: http://velocity.apache.org/engine/devel/webapps.html с помощью org.apache.velocity.app.event.implement.EscapeHtmlReference. Но мне было интересно, есть ли способ сделать это без изменения сохраненного содержимого?

Спасибо!

1 Ответ

0 голосов
/ 12 мая 2011

Вы можете использовать другой тег выделения, например, использовать что-то очень маловероятное во входных данных

<str name="hl.simple.pre">:-:${</str>
<str name="hl.simple.post">}:-:</str>

, а затем заменить его обратно на предпочитаемый тег выделения (например, <em>)

...