IKAnalyzer を中国語のセグメンテーションとして使用しているときに質問がありました
独自の拡張単語を辞書にロードしたいだけですが、うまくいかないようです:
コードは次のとおりです。
Dictionary dic = Dictionary.getInstance();
Dictionary.loadExtendWords(Arrays.asList("abc"));
Dictionary.loadExtendWords(Arrays.asList("abc2013"));
Dictionary.loadExtendWords(Arrays.asList("学校2013"));
String testString = "test abc abc2013 Chineses:学校2013";
Analyzer analyzer = new IKAnalyzer(true);
TokenStream ts = analyzer.tokenStream("demo", new StringReader(testString));
ts.reset();
StringBuilder sb = new StringBuilder();
String t = null;
while (ts.incrementToken()) {
t = ts.getAttribute(CharTermAttribute.class).toString();
sb.append(t).append(" ");
System.out.print(t + "|");
}
ts.end();
ts.close();
出力は "test|abc|abc2013|chineses|学校|2013|" です。自己定義語 "School2013" が機能しないことがわかります。
IKAnalyzer は、中国語と英語が混在していると役に立たないようです。