Solrのユーザグループにポストを経由して解決しよう
http://lucene.472066.n3.nabble.com/How-to-use-the-StandardTokenizer-with-currency-td4308072.html#a4308097
は私の設定
<!-- VB - Just like text_general, but supports $ currency matching and autoGeneratePhraseQueries -->
<fieldType name="text_curr_3" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true">
<analyzer type="index">
<charFilter class="solr.MappingCharFilterFactory" mapping="mapping.txt"/>
<charFilter class="solr.PatternReplaceCharFilterFactory" pattern="\$" replacement="xxdollarxx"/>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.PatternReplaceFilterFactory" pattern="xxdollarxx" replacement="\$" replace="all"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1" types="word-delim-types.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<charFilter class="solr.MappingCharFilterFactory" mapping="mapping.txt"/>
<charFilter class="solr.PatternReplaceCharFilterFactory" pattern="\$" replacement="xxdollarxx"/>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.PatternReplaceFilterFactory" pattern="xxdollarxx" replacement="\$" replace="all"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1" types="word-delim-types.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
ですあなたが望むように動作しないものに変更するには? – femtoRgon
私の初期の推測では、StandardTokenizerも$を分割することになるので、まずその仮定をテストしてください。もしそうであれば、$ 10を処理する単一のトークンとして取得せず、処理する前に屋根板を生成することによって拡張する必要があります。リンクされた質問と同じ方法です。分析ページを使用して、サンプルテキストで何が起きているかを確認します。 – MatsLindh
StandardTokenizerが$通貨記号を捨てるように見えます。私はShingleFilterFactoryで追加しようとしましたが、どちらも助けにはなりませんでした。私はまた、ClassicTokenizerを無駄に試しました。 –