我有一个文件是
{'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
默认情况下为false,无论解析查询引用的是哪个字段,所有查询词都会针对要突出显示的每个字段(hl.fl)突出显示。如果设置为true,则将仅突出显示与突出显示的字段对齐的查询字词。
highlighting options is available in the reference guide的完整列表。