私はSolr 5.5.2とLucene 5.5.2を使っています。Lucene/Solrで私のカスタムトークナイザを正しく実装する方法は?
私がしようとしているのは、テキストをスラッシュ記号で区切ってカスタムトークナイザを作成することです。ここで
は、コードサンプルです:
public class SlashSymbolTokenizer extends CharTokenizer {
public SlashSymbolTokenizer() {
}
public SlashSymbolTokenizer(AttributeFactory factory) {
super(factory);
}
@Override
protected boolean isTokenChar(int c) {
return c != 47 && c != 92;
}
}
のschema.xml
<fieldType name="string_with_slash_tokenizer" class="solr.TextField" sortMissingLast="true">
<analyzer>
<tokenizer class="tokenizer.SlashSymbolTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
とフィールド"color":"Black/white"
のインデックス時点で、このトークナイザを適用した後、私は私が何かを照会することによって、さらにそれを一致させることができることを前提とし"color":"black white"
のように動作しますが、このフィールドは初期値とのみ一致します"Black/white"
何が間違っていますか私の実装ですか?あなたはなにか考えはありますか ?
ありがとうございます!
あなたは '色を検索する場合何が起こるか:?!私のトークナイザがI適用された後Black' root545 @ – root545
を、私はそれを得ました「黒」または「白」のトークンのいずれかで文書に一致させることができますが、スラッシュの代わりに空白を両方とも使用することはできません。 – MadCat45