Lucene3.4でSpanishAnalyzerクラスを使用しています。アクセントのある単語を解析したいとき、奇妙な結果になります。たとえば、「comunicación」と「comunicacion」の2つの単語を解析すると、取得する語幹は「comun」と「comunicacion」になります。代わりに「maratón」と「maraton」を解析すると、両方の単語で同じ語幹が得られます(「maraton」)。
ですから、少なくとも私の意見では、同じ単語「comunicación」がアクセントを付けているかどうかによって異なる結果をもたらすのは非常に奇妙です。「comunicacion」という単語を検索すると、アクセントが付いているかどうかに関係なく、同じ結果が得られるはずです。
私が使用しているコードは次のコードです。
SpanishAnalyzer sa = new SpanishAnalzyer(Version.LUCENE_34);
QueryParser parser = new QueryParser(Version.LUCENE_34, "content", sa);
String str = "comunicación";
String str2 = "comunicacion";
System.out.println("first: " + parser.parse(str)); //stem = comun
System.out.println("second: " + parser.parse(str2)); //stem = comunicacion
アクセントの有無にかかわらず、「コミュニケーション」の語幹を共有するすべての単語を取得できることがわかった解決策は、最初のステップでアクセントを外してから、アナライザーで解析することですが、私はしませんそれが正しい方法であるかどうかを知っています。
どうか、誰か助けてもらえますか?