我在突出显示时遇到了一个奇怪的问题。我有一个简单的配置大致如下:
<str name="defType">edismax</str>
<str name="qf">all_text</str>
...
<str name="hl">on</str>
<str name="hl.fl">*</str>
<bool name="hl.requireFieldMatch">false</bool>
我在名为“all_text”的单个catch-all字段上运行搜索,我希望突出显示可以在文档中的其他字段上运行。这就是为什么requiredFieldMatch=false
,
所有其他要突出显示的字段都会被编入索引并存储,并使用<copyField>
指令将它们复制到all_text。
这适用于文本字段,但是如果字段的类型为tint(TrieIntegerField),则Solr不会返回任何突出显示信息。 例如,我有这个领域:
<field name="age" type="tint" indexed="true" stored="true" />
和
<copyField source="age" dest="all_text" />
但在搜索结果中没有突出显示。