1

デフォルトの Solr ツールキットのツール「Escape Tool」を使用しています。HTMLタグが埋め込まれている可能性のあるテキストフィールドを表示するために使用します。これはベロシティ UI ドキュメント レベルで行います。つまり、表示される直前にエスケープします。

ハイライトをオンにしたいのですが、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>

残念ながら、エスケープ ツールはデフォルトのタグ (em) をエスケープするため、意図したとおりには機能しません。強調表示が行われる前にエスケープ手順を移動するのが最適な解決策のように思えます。出力時に UI によって適用される順序については、あまり詳しくありません。

1 つの方法は、挿入時にフィールドをエスケープすることです: http://velocity.apache.org/engine/devel/webapps.html org.apache.velocity.app.event.implement.EscapeHtmlReference を使用します。しかし、保存されているコンテンツを変更せずにそれを行う方法があるかどうか疑問に思っていましたか?

ありがとう!

4

1 に答える 1

0

別のハイライト タグを使用できます。たとえば、入力に非常にありそうもないものを使用できます。

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

それをお好みのハイライト タグに置き換えます (例: <em>)

于 2011-05-11T23:19:51.313 に答える