私はsolanでluceneを使っていくつかの文書(ニュース)を索引付けしています。これらの文書には、ヘッダーラインもあります。 ここでは、HEADLINEフィールド上でファセット検索を行い、最高の数を持つ用語を見つけようとしています。 これはstopword-listを含めて問題なく動作します。 HEADLINEフィールドは、複数の値を持つフィールドです。私はsolr.StandardTokenizerFactory
を使用して、これらのフィールドを単一の用語に分割します(これはベストプラクティスではありませんが、唯一の方法であり、動作します)。facet-resultの保護された単語?
場合によっては、トークン化ツールは、9/11
(9と11に分割されている)のように分割しない用語を分割します。だから私は "protword"リストを使うことに決めました。 "9/11"はこの原型リストの一部です。しかし、変化はありません。ここで
が私のschema.xmlファセット結果を見て
<fieldType name="facet_headline" class="solr.TextField" omitNorms="true">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory" protected="protwords.txt"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.TrimFilterFactory" />
<filter class="solr.StopFilterFactory"
ignoreCase="true"
words="stopwords.txt"
enablePositionIncrements="true"
protected="protwords.txt"
/>
</analyzer>
</fieldType>
から一部ですが、私は「9/11」は「9」または「11時(ファセット)グループ化を扱った文書の多くを見ます"しかし、決して" 9/11 "。
なぜこれが機能しないのですか?
ありがとうございます。
'WhitespaceTokenizer'を使用すると良い考え。私は 'splitOnNumerics =" 0 "'とWhitespaceTokenizerFactory'を組み合わせて使用しています。効果は、 "9/11"が今や1つのトークンであるが、 ":"を "9/11:"(例えば)から分離しないことである。だから 'solr.PatternTokenizerFactory'は' WhitespaceTokenizer'の代わりに使うことができます。句読点を削除する唯一の方法ですか? –