Solr可以执行添加字段并使用复制字段只是不重新索引?

时间:2017-09-05 07:24:52

标签: search solr

我使用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>

有人知道我可以在完成索引之后使用此解决方案吗?

还是有其他解决办法可以解决它?

1 个答案:

答案 0 :(得分:0)

没有。您必须重新索引内容(至少是相关字段)以更改生成的标记的大小写。您可以从原始源执行此操作,也可以编写从Solr检索每个文档的脚本并重新索引单个字段 - 只要将所有字段设置为已存储即可。如果它们没有存储(并且没有可用于代替存储值的docValues),则必须重新编制索引。 Solr无法从处理过的令牌中获取原始文本。

另外请记住,KeywordTokenizer会将值保留为单个令牌,而不会在空格等上拆分。

使用Solr管理界面下的“分析”页面确保在索引之前获得正确的结果。