2016-09-16 30 views
0

私はフィールド "text"を持っています。これは "text"の言語に基づいてtext_enまたはtext_esにコピーする必要があります。以下 は私managed_schema.xmlです:Solr言語の検出

<updateRequestProcessorChain name="langid"> 
<processor class="org.apache.solr.update.processor.TikaLanguageIdentifierUpdateProcessorFactory"> 
     <bool name="langid">true</bool> 
     <str name="langid.fl">text</str> 
     <str name="langid.langField">tweet_lang</str> 
     <str name="langid.whitelist">es,en</str> 
     <bool name="langid.map">true</bool> 
     <!--bool name="langid.map.individual">true</bool--> 
     <str name="langid.map.individual.fl">text</str> 
    <bool name="langid.map.keepOrig">true</bool> 
     <str name="langid.fallback">ko</str> 
    </processor> 
    <processor class="solr.LogUpdateProcessorFactory" /> 
    <processor class="solr.RunUpdateProcessorFactory" /> 
    </updateRequestProcessorChain> 

私はコピーフィールドtext_enとtext_es.Whenを作成し、私はスペイン語でデータを投稿し、データも同様にtext_enとtext_esために、テキストからコピーされます!

どうすれば解決できますか?

ありがとうございます!あなたは関係なく、copyFieldが行うことになっているものである関連リンク言語検出、の両方のフィールドに入ってくるデータを取得text_entextからCopyFieldsを作成することで

答えて

0

text_es

<bool name="langid.map.keepOrig">true</bool>を設定したため、updateRequestProcessorは実際にはコピーではなく移動を行います。

それ以外の場合、プロセッサの設定は正常に見えます。これらのcopyFieldを削除して、マッピングされたフィールドtext_entext_esがスキーマに定義されていることを確認してください。

0

ヘッドアップに感謝します! 問題はコピーフィールドを削除することで解決して作成されたダイナミックなフィールド

schema.xml
  • *_es
  • *_en