スタック オーバーフローのいくつかのヘルプに基づいて、カスタム アナライザーを作成することができましたが、単語にアクセントがある検索を回避することはできません。
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 を使用しています
どんな助けでも大歓迎です。ありがとう!