我使用Solr 6.1,
我刚刚完成了文档索引,
但是我需要的一些原因使它在搜索中不区分大小写,
我发现解决方案可以使用复制字段使其工作,
但它需要添加字段来帮助它完成,
如下所示:
<fieldType name="string_ci" class="solr.TextField" sortMissingLast="true" omitNorms="true">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
有人知道我可以在完成索引之后使用此解决方案吗?
还是有其他解决办法可以解决它?
答案 0 :(得分:0)
没有。您必须重新索引内容(至少是相关字段)以更改生成的标记的大小写。您可以从原始源执行此操作,也可以编写从Solr检索每个文档的脚本并重新索引单个字段 - 只要将所有字段设置为已存储即可。如果它们没有存储(并且没有可用于代替存储值的docValues),则必须重新编制索引。 Solr无法从处理过的令牌中获取原始文本。
另外请记住,KeywordTokenizer会将值保留为单个令牌,而不会在空格等上拆分。
使用Solr管理界面下的“分析”页面确保在索引之前获得正确的结果。