【问题标题】:Solr is highlighting wrong wordsSolr 突出显示错误的单词
【发布时间】:2020-01-15 02:44:30
【问题描述】:

我有一份文件是

{'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 谢谢。

【问题讨论】:

    标签: solr solrj


    【解决方案1】:

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

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

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

    hl.requireFieldMatch

    默认情况下,false,无论解析后的查询引用什么字段,所有查询词都将突出显示每个要突出显示的字段 (hl.fl)。如果设置为 true,则只有与突出显示的字段对齐的查询词才会依次突出显示。

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

    【讨论】:

    • 感谢您的回复。我对 solr 很陌生,有没有办法在 solr 中获得匹配的术语?在这个例子中,我想得到hollylasvegas。谢谢~
    • 你试过hl.requireFieldMatch吗?结果如何?
    • 我将hl.method 更改为unified 和一些附加参数,它突出显示了正确的单词!谢谢!
    • 如果您可以将您用于问题的确切参数添加到此处,或者为将来通过搜索引擎找到此问题的任何人添加评论,将会很有帮助:-)
    猜你喜欢
    • 1970-01-01
    • 2016-01-19
    • 2012-10-30
    • 1970-01-01
    • 1970-01-01
    • 2019-05-18
    • 2014-08-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多