Solr 高亮显示停用词

4

schema.xml(与我的问题相关的部分):

<field name="question" stored="true" type="text" multiValued="false" indexed="true"/>
<field name="question_highlight" stored="true" type="string" multiValued="false" indexed="true"/>
</fields>
<!-- AND -->
<copyField source="question" dest="question_highlight" />

注意:我已经启用了停用词,针对字段类型:文本

当我索引一份文档时,我会传递问题字段。现在,当我尝试使用以下查询进行搜索时:

select?q=question:have fever&hl=true&hl.fl=question_highlight

在我的停用词列表中包含了have一词,但是在结果中,这个词并没有被高亮显示。我该怎么办呢?我需要高亮停用词,我查看了这篇帖子Solr highlighting without stop-words for phrases?,所以我把question_highlight设置成字符串,但还是不起作用。

1个回答

0

简单的解决方案是在具有StopFilter和hl.q的搜索字段上使用q,同时在高亮字段上使用hl.q参数。


2
我想我之前已经尝试过以下查询:select?q=question:have fever&hl=true&q=have fever,返回相同的结果并且高亮显示相同的内容(仅限于单词“fever”)。我是否需要在我的schema.xml文件中进行任何更改? - Jad Joubran
hl.q 覆盖了 q 请查看 https://issues.apache.org/jira/browse/SOLR-1926 以了解语法差异,然后 r2a3 :) - Hussein Negm
关于Solr的另一个建议是,一旦您拥有了一个稳定的schema.xml,请将更改它作为最后的解决方案。 - Hussein Negm

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接