如何处理在SOLR亮点片段html标签(How to handle html tags in hig

2019-10-20 21:36发布

我用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解析器用于这一目的。

这似乎是在寻找一个共同的问题,是有国家的最先进的一些方法来处理这个问题?

Answer 1:

通常的解决方法是剥离在(例如,HTML方式使用HTMLCharFilter ),索引之前。 这样,你就会有一个纯文本字段,你可以做高亮显示,并显示与嵌入式结果<em>标签。

然后,您可以使用copyField有一个与HTML表示完好,和一个没有包含在HTML(以使用高亮)的字段。



文章来源: How to handle html tags in highlight fragment in SOLR