2016-09-16 155 views
0

我有一個字段「文本」,我需要根據「文本」的語言複製到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複製的!

我該如何解決這個問題?

謝謝!

回答

0

通過創建copyFields從texttext_entext_es你輸入數據到這兩個領域無論langage檢測的,那是什麼copyField是應該做的。

updateRequestProcessor實際上會複製(而不是移動),因爲您設置了<bool name="langid.map.keepOrig">true</bool>

除此之外,處理器的配置看起來很好,只需刪除這些copyField,並確保映射字段text_entext_es在您的架構中定義良好。

0

感謝您的高舉! 問題通過移除複製場解決,創建的動態領域

  • schema.xml
*_es
  • *_en