1

単一のトークンとしていくつかのフレーズ (ファイルの形式で推測) にインデックスを付けることができる Solr のトークナイザー/フィルターはありますか? また、これをアナライザー チェーンのどこに配置するかについてのアドバイスもあれば幸いです。

4

2 に答える 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 に答える