solr突出显示如何识别html标签?

时间:2012-10-11 03:05:25

标签: html solr tags highlight

我有一个关于Solr突出显示的问题。

当您使用方法“setHighlightSimplePre”和“setHighlightSimplePost”使用突出显示功能,并设置一些html标记时,您将获得一个由html标记包围的突出显示的术语。
例如,当您使用“test”进行查询,并设置“< b>”时作为setHighlightSimplePre和“< / b>”的参数作为setHighlightSimplePost的参数,你会得到“< b> test< / b>”只要至少一个字段的值为“test”,就作为字符串形式。

这是一件事。如果字段具有类似“testA< b> testB test”的值,则会得到“testA< b> testB< b> test< / b>”,这意味着您将看到“testA testB< b>测试“如果输出结果为html。

我怎么解决这个问题?也就是说,在此示例中,我想输出结果,如“testA< b> testB test ”。
有没有办法在突出显示之前识别html标签?

1 个答案:

答案 0 :(得分:1)

你可以在突出显示之前从内容中删除html。

或者您可以使用highliter类而不是< b>,例如

setHighlightSimplePre('<span class="hilite">');

setHighlightSimplePost('</span>');

然后覆盖周围内容的样式:

div.content b {font-weight: normal;}

并设置highlited文本的样式:

.hilite {font-weight: bold; color: yellow;}