単一のトークンとしていくつかのフレーズ (ファイルの形式で推測) にインデックスを付けることができる Solr のトークナイザー/フィルターはありますか? また、これをアナライザー チェーンのどこに配置するかについてのアドバイスもあれば幸いです。
質問する
740 次
2 に答える
2
SynonymFilterFactoryはあなたの助けになるはずです。そのページの例を次に示します。
#Explicit mappings match any token sequence on the LHS of "=>"
#and replace with all alternatives on the RHS. These types of mappings
#ignore the expand parameter in the schema.
#Examples:
i-pod, i pod => ipod
sea biscuit, sea biscit => seabiscuit
インデックス作成時に、左側のフレーズは右側の単一のトークンに置き換えられます。マッピングをという名前のファイルに保存するとsyn.txt
、次のようにアナライザーチェーンを作成できます(これもsolr wikiリンクから)。
<fieldtype name="syn" class="solr.TextField">
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="syn.txt"
ignoreCase="true" expand="false"/>
</analyzer>
</fieldtype>
于 2013-03-24T04:29:46.873 に答える
1
これにはTokenizerFactoryを使用する必要があります。
文章も検出したい場合は、solr.UAX29URLEmailTokenizerFactory を見ることができます。
入力が特定のパターンの場合、solr.PatternTokenizerFactory を使用できます。
入力全体を 1 つのフィールドとしてインデックス付けする場合は、solr.KeywordTokenizerFactory を使用できます。
于 2013-03-24T19:04:11.490 に答える