gpt4 book ai didi

solr - 用SOLR和LowerCaseFilterFactory索引字段

转载 作者:行者123 更新时间:2023-12-04 04:08:26 24 4
gpt4 key购买 nike

我有一个字段定义为

<fieldType name="text_ws_lc" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>

对于这种类型的字段,在不区分大小写的情况下进行搜索非常有效。但是,我希望将原始值插入到字段中,而不是小写值。是否可以从索引分析器中删除LowerCaseFilterFactory并获得此功能?翼
<fieldType name="text_ws_lc_std" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>

最佳答案

您应该定义两个字段:一个带有小写值用于搜索,另一个用于保存原始值。您可以在schema.xml中使用复制字段指令来使两个字段保持同步。

关于solr - 用SOLR和LowerCaseFilterFactory索引字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3134702/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com