1

我想知道当 q 有值时 hl.q 参数是否可以覆盖 q 参数*:*

示例 URL: hl.q 成功覆盖 q=title:new york 并在下面提到的 URL 中突出显示 Empire State。

http://localhost:8983/solr/select?q=title:new york&hl=on&hl.q=Empire state.

但是当 URL 是这样的时候:

http://localhost:8983/solr/select?q=*:*&hl=on&hl.q=Empire state.

hl.q 参数不覆盖 q 参数,并且来自 solr 的突出显示数组为空。

4

1 回答 1

0

在这种情况下,我认为问题在于,当您按字段查询时,title:new york突出显示知道它应该为该title字段生成突出显示结果。但是,当您搜索所有字段时,它会尝试为所有字段生成突出显示结果,因为这可能会在服务器上占用大量资源并导致性能问题。

在这种情况下,我建议在您的请求中添加一个hl.fl参数,以指示您希望突出显示结果的字段。如文档中所述,您可以根据需要指定*此值。

http://localhost:8983/solr/select?q=*:*&hl=on&hl.fl=*&hl.q=Empire state.
于 2012-10-15T12:00:36.090 回答