私はSolrで非常に新しいですが、格納される電話番号文字列に対していくつかの前処理を行うためにPatternReplaceCharFilterFactoryを使用しようとしています。ここでフィールドの構成は次のとおりです。Solr PatternReplaceCharFilterFactoryが指定されたパターンに置き換えられない
<fieldType name="phone_number" class="solr.TextField" >
<analyzer>
<charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="\(?(\d{3})?\)?[-. ]?(\d{3})[-. ]?(\d{4})"
replaceWith="$1-$2-$3"/>
<tokenizer class="solr.StandardTokenizerFactory"/>
</analyzer>
</fieldType>
私は正規表現をテストしてきたし、それは私が(例えばそれを期待するすべてのものと一致した555.444.1234、(555)444から1234、5554441234、4441234、444から1234。 、など)。
私の理解では、正規表現はこれまで渡されたものと一致し、指定されたパターンに置き換えられるべきです。 555.123.4444を渡したら、555-123-4444がStandardTokenizerFactoryに渡されることになります。そこからトークン555,123,4444に分解される。
私はこれに費やした時間を考えれば、私が紛失している小さな構成の問題があると確信していますが、利用可能なドキュメント(私が見たもの)からは何かを知ることはできません。
ありがとうございます。 OK
多分あなたはあなたの質問に(編集する)いくつかの詳細を追加して、他のユーザーにとってより便利にすることができます。あなたはあなたの答えを自動的に受け入れることさえできます。 – javanna
@ジャバンナ、それは実際に私に2日間私の答えを自動的に受け入れることはできません、そうです。編集や答えをしたいのかどうかはわかりませんでした。私は答えに落ち着いて、待っている期間が終わったら私は受け入れるでしょう – Jared
偉大な、ありがとう! – javanna