gpt4 book ai didi

apache - 使用 apache solr 去除口音

转载 作者:行者123 更新时间:2023-12-05 01:18:23 24 4
gpt4 key购买 nike

我正在尝试使用此方案使用 apache solr 进行搜索 http://pastie.org/5114389但是当我输入“josé”时,找到了文件,但是当我输入“jose”时,我没有得到结果。

Efetuei 在互联网上搜索答案并不得不使用该类(class),但是当我插入时没有任何区别。

最佳答案

我从您的架构中看到您正在使用 ASCIIFoldingFilterFactory已经在您的 text分配给 default 的 fieldType field 。但是,它仅适用于该字段的索引。我建议您也将它应用于您的字段的查询,以确保您的查询词被折叠以匹配索引中的项目。通常,在这种情况下,当您将过滤器工厂添加到索引时,您也会将其添加到查询中,以便查询词和索引词都被正确转换/比较。

因此,我会将您的架构修改为以下内容:

<fieldType name="text" class="solr.TextField" omitNorms="false">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0"/>
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.ASCIIFoldingFilterFactory" words="mapping-FoldToASCII.txt"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0"/>
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.ASCIIFoldingFilterFactory" words="mapping-FoldToASCII.txt"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory" />
</analyzer>
</fieldType>

关于apache - 使用 apache solr 去除口音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13069434/

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