カスタム を作成したばかりCharTokenizer
で、それを Solr サーバーで使用したいと考えています。
Solr3 では、create メソッドで my を拡張TokenizerFactory
して返すことができましたが、Solr4 には存在しません。CharTokenizer
TokenizerFactory
TokenizerFactory
ということで、に置き換える必要があることに気づきましたが、この場合、パラメータが一致しないため、TokenFilterFactory
自分の custom を返すことができません。CharTokenizer
私はいくつかのドキュメントも検索していますが、そこには本当に役立つものはないようです。
では、どうすれば機能させることができますか?
例:
public class MyCustomTokenizer extends CharTokenizer {
char anotherSpace = 24;
public MyCustomTokenizer(Version matchVersion, Reader in) {
super(matchVersion, in);
}
protected boolean isTokenChar(int c) {
return !Character.isWhitespace(c) && isToken((char) c);
}
private boolean isToken(char c) {
if (c == anotherSpace || c == ',') {
return false;
}
return true;
}
}
public class MyCustomTokenizerFactory extends TokenFilterFactory {
public void init(Map<String, String> args) {
super.init(args);
assureMatchVersion();
}
@Override
public TokenStream create(TokenStream input) {
// sh*t happens here
return new MyCustomTokenizer(luceneMatchVersion, input);
}
}
前もって感謝します。