3

私のアナライザー チェーンでは、ShingleFilter はストップワード フィルターの後に来ます。docsに記載されているように、ShingleFilter は、フィラー トークン (termtext "_" を含むトークン) を挿入することにより、1 を超える位置の増分を処理します。

For example : "please divide this sentence into biword shingles" 

Shingles of size 2 : please divide, divide _, _ sentence, sentence _, _ biword, biword shingles (assuming that "this, "into" are stopwords)

フィラー トークンを使用してこれらの帯状疱疹を除去したいと思います。つまり、目的の出力には、分割してください、バイワード帯状疱疹のみが含まれます。

最大 4 グラムの帯状疱疹を持つファセット専用のフィールドがあります。これらのストップワードが原因で、すべてのファセット制約 (または値) は、「divide _ 文 _」のようなフィラーでは役に立たないように見えます。

私を案内してください。

Solr 4.4 を使用しています。

アップデート

StopFilter 構成で enablePositionIncrement を false に設定することを考えました。これで問題が解決するかどうかはわかりませんが、Lucene 4.4 ではサポートされなくなりました。

4

3 に答える 3

0

Solr 4.7 リリースでは、デフォルトのフィラー トークン「_」をオーバーライドするオプションがあります。空きスペースに設定できます。構成は次のようになります。

<filter class="solr.ShingleFilterFactory" maxShingleSize="3" outputUnigrams="true" fillerToken=""/>
于 2014-05-22T17:08:14.893 に答える