0

我有一个关于 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>

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

4

1 回答 1

0

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

或者你可以使用高升类而不是 <b>,比如

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

setHighlightSimplePost('</span>');

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

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

并设置高亮文本的样式:

.hilite {font-weight: bold; color: yellow;}
于 2012-10-11T03:13:06.597 回答