我正在嘗試使用Solr進行多語言詞幹分析。根據官方Solr指南,我已使用LangDetectLanguageIdentifierUpdateProcessorFactory
安裝語言檢測。語言是公認的,現在我有一個像一大堆動態字段:Solr檢測語言。如何跨多個description_ *字段進行搜索?
- description_en
- description_de
- description_fr
- ...
,並妥善朵朵。
現在的問題是如何在很多領域進行搜索?每次搜索多個可能的語言字段時,都會進行長時間查詢,這看起來不是一個明智的選擇。我一直在使用copyField
喜歡嘗試:
<copyField source="description_*" dest="text"/>
但詞幹被丟在text
場,當我做到這一點。
text
字段被定義爲solr.TextField
與solr.WhitespaceTokenizerFactory
。也許我沒有正確設置text
字段,或者這應該如何完成?
請參閱http://wiki.apache.org/solr/SchemaXml#Copy_Fields它說: '原始文本從「源」字段發送到「目標」字段,在任何配置的分析儀始發或目的地字段被調用。' 在所有分析完成後,copyField不會從'description_ *'字段獲取標記。它將輸入到'description_ *'字段並應用爲其自己的字段類型定義的分析,這只是帶有空白標記器的TextField。所以copyField不是這個的解決方案。 – arun
這可能會幫助你:http://lucene.472066.n3.nabble.com/Query-on-all-dynamic-fields-or-wildcard-field-query-td4051852.html – arun
謝謝你,阿倫。我現在看到爲什麼'copyField'不起作用。第二個環節也很有幫助。所以我看到在這個時候我唯一的選擇是列出所有可能的'description_ [en | fr | de | ...]'作爲在每個查詢中搜索的字段列表。這還是可以的,我想,我只是在想,還有其他方法可以做到這一點。再次感謝您的幫助,Arun! – user2113581