2012-01-13 82 views
1

我有一個場景,我必須建立多語言索引。特別是對於兩個腳本,這兩個腳本完全不同(印地語和英語)。所以他們的stemmers和lemmatisers不會互相影響。我的索引將會包含數百萬個文檔。來自follwing 3的 哪種方法用於索引? :索爾索引方法

  1. 單字段爲兩種語言。 的優勢 - a)由於腳本不同,我可以同時使用兩個分析器。 b)由於字段有限,搜索速度更快。 c)需要關注相關性問題。

  2. 語言特定字段:a)由於許多字段可能較慢的搜索。

  3. 多核方法:a)處理多語言文檔時出現問題。 b)管理將很難。 c)語言特定的搜索將很容易。

回答

1

我建議分開核心。恕我直言,這只是正確的路要走。

您不必使用Solr的自動語言識別功能,因爲您可以分別爲每個核心/語言定義分析器(lemmatizers/stemmers)。 只有缺點是樣板配置元素(大多數設置對於兩個核心都是相同的)。

看到這個最近,類似的帖子:

Applying Language Specific Analyzer Dynamically before Solr Indexing

+0

感謝mbonaci,我不知道我要索引的數據的語言。有什麼方法可以動態檢測語言並選擇正確的核心? – 2012-01-17 07:10:08

+0

語言檢測:http://wiki.apache.org/solr/LanguageDetection http://lucidworks.lucidimagination.com/display/solr/Detecting+Languages+During+Indexing – 2012-01-17 08:48:56

+0

謝謝mbonaci。我檢查了這種語言檢測。但它不正確地檢測語言。在我的情況下,精度不到10%。即使它似乎沒有使用後備領域。對於所有英文內容,它正在檢測未列入白名單的語言。它應該只檢測白名單上的語言,如果白名單語言不匹配,它應該回退到備用語言。除wiki以外的其他使用langdetect的指針。請建議????? – 2012-01-23 13:16:46

1

請閱讀:Apache Solr multilanguage search,這應該有所幫助。 如果你是一個潔具,我會選擇2(我正在使用該選項)。

+0

感謝伏羲。我認爲使用你建議的方法,由於在許多字段中搜索所有queriess的查詢,速度較慢的搜索是使用language1還是language2? – 2012-01-17 07:06:20

+0

這是可能的,但我沒有這樣的感覺。與Solr解析並在頁面上顯示的時間花費時間進行比較。你總是可以首先查詢默認語言,如果你沒有得到任何命中嘗試替代語言,但是將花費更多時間總結:) – Fuxi 2012-01-17 09:13:08