Solr 正在突出显示错误的单词

Solr is highlighting wrong words

我有一份文件是

{'remaining': 'planet holly wood las vegas','id': 'c6d8e7e5-7ba9-4b68-ae0b-bb31ec4872f3'}

我的查询是remaining:(((mirage OR *holly* OR (planet AND hollywood)) AND (las AND vegas)) AND id:c6d8e7e5-7ba9-4b68-ae0b-bb31ec4872f3)

在高亮结果中:

{'c6d8e7e5-7ba9-4b68-ae0b-bb31ec4872f3': {'remaining': ['<em>planet</em> <em>holly</em> wood <em>las</em> <em>vegas</em>']}}

为什么要突出显示 planet?我正在使用 solr 8.4 谢谢

它被突出显示是因为它是您查询的一部分。

一般来说,突出显示适用于与查询匹配的所有标记,而不仅仅是那些给出命中的标记(默认情况下,在您要突出显示的字段中甚至不需要命中 - 只是标记来自查询的值出现在突出显示的值中)。

您可以使用 hl.requireFieldMatch 稍微调整一下,但我不确定这是否适用于您的 OR 语句中的可选子句。

hl.requireFieldMatch

By default, false, all query terms will be highlighted for each field to be highlighted (hl.fl) no matter what fields the parsed query refer to. If set to true, only query terms aligning with the field being highlighted will in turn be highlighted.

highlighting options is available in the reference guide的完整列表。