1

abc一致Abc400一致400(ユーザー名の一致)を行う必要があるクエリ スキーマを使用しています。

しかし、使用するLowerCaseFilterFactoryと、クエリを実行しても結果が返されないことがわかりました400。ソースコードを掘り下げたところ、which extendsのLowerCaseTokenizerFactory使用法が見つかり、すべての数値がフィルタリングされました。LowerCaseTokenizerLetterTokenizer

これを修正するにはどうすればよいですか?

4

1 に答える 1

2

LowerCaseTokenizerすべての非文字を削除するのは正しいです。Tokenizer小文字のフィルター ファクトリを使用するだけでは何らかの種類のが生成されるとは思わないため、スキーマを確認することは (意味のある回答を提供する限り) 非常に役立ちます。

いずれにせよ、トークナイザーには他にもたくさんのオプションがあります。両方StandardまたはどちらかClassicがニーズにより適している場合があります。

次のようなもの:

<analyzer>
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
</analyzer>

あなたのためにうまくいくかもしれません。

于 2013-04-27T06:28:35.553 に答える