在我们的SOLR实现中,我们使用分组/字段折叠来确保提前输入结果是唯一的。我们的内容可能具有相同的显示字词,但背后有差异代码(涉及多个字段)。
在大多数情况下,这很好用。我们分组的字段是标准的StrField。但是,如果显示术语处于不同的情况(即:solr vs SOLR),那么这种情况就会崩溃。
如何使分组不区分大小写?另一个问题是我们不希望将字符串标记为多个单词。例如:
术语是“SOLR岩石”,“solr rocks”和“SOLR很棒”。搜索SOLR的结果应该是“SOLR rocks”和“SOLR很棒”。如果流被标记化,则所有三个将被组合在一起。
由于
答案 0 :(得分:1)
使用非标记化的小写字符串字段进行分组 这应该确保分组是不区分大小写的。
e.g。字段类型配置
<fieldType name="lowercase" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>