簡體   English   中英

如何格式化包含html的Elasticsearch高亮數據?

[英]How to format Elasticsearch highlight data that contains html?

我在ac#webapp上使用Elasticsearch 1.7高亮顯示,但是高亮顯示的數據中包含html。 目前,我正在使用此正則表達式刪除html

Regex.Replace(rawHighlight, "<.*?>", string.Empty)

當突出顯示未完成完整的html標記時,就會出現問題。 例如,如果我的前標簽和后​​標簽是@highlight----highlight@我可能會得到如下結果:

<div>This is an @highlight--example--highlight@ </d

因此,正則表達式將刪除第一個div但不會刪除不完整的那個,即。 </d

因此,這是兩個問題合而為一。 在運行第一個正則表達式之后(它會出現在字符串的末尾還是開始),是否存在一個正則表達式來刪除格式錯誤的html?還是有一些更好的方法來使用Elasticsearch的highlight這樣我就不必解析字符串了?

也許您確實已經問過自己了,但是為了完成:為什么您的搜索索引中會有html? 如果確實需要,則添加第二個(腳本)字段,其中包含已解析的html(不帶標簽),並將其用於突出顯示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM