1

スタック オーバーフローのいくつかのヘルプに基づいて、カスタム アナライザーを作成することができましたが、単語にアクセントがある検索を回避することはできません。

public class CustomAnalyzer : Analyzer
{
    LuceneVersion matchVersion;

    public CustomAnalyzer(LuceneVersion p_matchVersion) : base()
    {
        matchVersion = p_matchVersion;
    }
    protected override TokenStreamComponents CreateComponents(string fieldName, TextReader reader)
    {
        Tokenizer tokenizer = new KeywordTokenizer(reader);
        TokenStream result = new StopFilter(matchVersion, tokenizer, StopAnalyzer.ENGLISH_STOP_WORDS_SET);            
        result = new LowerCaseFilter(matchVersion, result); 
        result = new StandardFilter(matchVersion, result);
        result = new ASCIIFoldingFilter(result);
        return new TokenStreamComponents(tokenizer, result);
       
    }
}

アイデアは、「perez」を検索し、「Pérez」も見つけられるようにすることです。そのアナライザーを使用して、インデックスを再作成して検索しましたが、アクセントのある単語の結果はまだありません。

LuceneVersion として私は LuceneVersion.LUCENE_48 を使用しています

どんな助けでも大歓迎です。ありがとう!

4

0 に答える 0