[英]Solr dismax highlighting not respecting analyzer
在Solr 3.6.2的模式中,有两个field
声明, text
和exact
<field name="text" type="text" indexed="true" stored="true" />
<field name="exact" type="string" indexed="true" stored="true" />
前者使用StandardTokenizer
,后者使用KeywordTokenizer
。
Solr查询描述问题:
?hl=true
&hl.fl=text,exact
&defType=edismax
&qf=text+exact <-------- here
&q=a-b
高亮显示字段精确输出 : <em>a</em>-<em>b</em>
。 问题是使用text
分析仪生成的exact
字段摘要。
?hl=true
&hl.fl=text,exact
&defType=edismax
&qf=exact <-------- here
&q=a-b
高亮显示字段精确输出 : <em>ab</em>
。 通过简单地从qf
删除text
,我们得到了正确的分析器,为什么?
debugQuery
+DisjunctionMaxQuery(((exact:a-b) | ((text:a text:b)~2)))
找到exact
匹配的Solr荧光笔似乎也仅根据查询中的存在来匹配a
和b
。 hl.requireFieldMatch=true
确实可以解决这个问题!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.