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