Solr 突出显示停用词

Posted

技术标签:

【中文标题】Solr 突出显示停用词【英文标题】:Solr Highlighting Stopwords 【发布时间】:2012-10-30 21:45:21 【问题描述】:

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" />

注意事项:我为 fieldType: text

启用了停用词

当我索引一个文档时,我传递了问题字段 现在当我尝试使用此查询进行搜索时

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

知道单词 have 包含在我的停用词列表中,因此单词 have 不会在结果中突出显示 我怎样才能解决这个问题?我需要突出显示停用词,我检查了这篇帖子 Solr highlighting without stop-words for phrases? 这就是为什么我将 question_highlight 作为字符串但它仍然不起作用

【问题讨论】:

【参考方案1】:

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

【讨论】:

我想我在以下查询之前已经尝试过:select?q=question:have fever&hl=true&q=have fever 返回相同的结果并具有相同的突出显示(仅适用于单词发烧)我应该更改我的 schema.xml 中的任何内容? hl.q 覆盖 q 请参阅此 issues.apache.org/jira/browse/SOLR-1926 以了解语法差异然后 r2a3 :) 另一个关于 solr 的建议,一旦你有一个可靠的 schema.xml,把它改成你的最后一个解决方案

以上是关于Solr 突出显示停用词的主要内容,如果未能解决你的问题,请参考以下文章

在java中突出显示文本

Solr 不突出显示某些单词

Solr突出显示多个术语

无法获得突出显示的 Solr 响应

ShingleFilterFactory 影响 Solr 中突出显示部分的大小

使用 copyField 突出显示 Solr