我应该使用哪种Solr滤镜来滤除花式撇号

时间:2018-03-14 17:09:23

标签: solr

问题

我正在使用Apache SOLR进行全文搜索,现在我无法过滤出绚丽的撇号。

用户可以输入查询,有时他们使用'印刷撇号' - 它不是一个直接上下撇号,它略微卷曲并向右倾斜,如下所示:

柏拉图的批判

所以,搜索像这样的词

柏拉图的批判

Platos Critique

没有结果,因为'和'在技术上是不同的字符。 但是我希望在这些搜索中获得名为“Plato's Critique”的记录。

我尝试过的分析器配置选项没有用

我尝试了一些不同的配置选项(并在进行更改后重新编制索引)。

标准过滤器工厂

<fieldType name="text" class="solr.TextField" omitNorms="false">
    <analyzer>
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.StandardFilterFactory" />
        <filter class="solr.LowerCaseFilterFactory"/>
    </analyzer>
</fieldType>

ICUFoldingFilter

<fieldType name="text" class="solr.TextField" omitNorms="false">
    <analyzer>
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.ICUFoldingFilterFactory"/>
    </analyzer>
</fieldType>

1 个答案:

答案 0 :(得分:0)

写下这个以防其他人可以从中受益 - 我必须将ICUFoldingFilterFactory应用于一个ngram的textField。我之前没有采取任何改变,因为我想搜索的所有textField都是ngrams。