2013-04-17 24 views
2

我們將IBM WCS v7用於我們基於電子商務的需求之一,其中Apache solr嵌入了基於搜索的實現。使用solr進行多語言需求的最佳索引策略

根據新的要求,網站會有多種語言支持,例如該網站的法國版本可以支持英語,法語等。(en_FR,fr_FR等)爲了配置solr與此接口,應該使用單個solr內核的最佳索引策略是什麼?

我有一些想法1)在schema.xml中使用多個字段來實現多種語言,2)對不同的語言使用不同的solr核心。

但是,這些方法似乎並不是符合當前要求的最佳方法,因爲對電子商務網站將有18種語言支持。對每種語言使用不同的字段將會非常複雜,並且使用不同的solr代碼也不是一個好方法,因爲我們需要在所有solr內核中應用配置更改(如果它按照任何要求發生的話)。

是否有任何其他方法,或者有什麼辦法可以將localeId與索引數據相關聯,並根據檢測到的語言處理搜索結果?

任何有關這個主題的幫助將不勝感激。

感謝和問候,

Jitendriya短跑

+0

一個解釋:您是打算本地化存儲在索引中的數據,還是僅支持以不同語言存儲的數據?換句話說,你是否打算每個文檔的數據將被索引18次,每種語言都有一次?或者只是一次,不管它發生在哪種語言? – femtoRgon

+0

數據已經以不同的語言顯示。我們需要爲相應的語言編制索引。然而,看起來我們每種語言都採用一種核心,我們將爲主目錄支持的每種語言創建不同的solr核心。通過這種方法,配置變化需要在每個核心被複制,但很大一部分是,我們並不需要考慮語言特定設置(如停用詞,protwords等可以分別針對不同的語言處理) – dash27

+0

是的,在那種情況下,我認爲你已經有了正確的想法。在同一個字段中存儲多種語言會導致問題,您似乎已經想到了這些問題(標記化,停用詞等)。您聲明的兩種方法中的任何一種都可以很好地工作。另一種可能性是,您也可以爲每種語言創建單獨的文檔,將合適的分析器傳遞給addDocument調用,並添加一個指定文檔語言的字段。儘管你似乎在正確的軌道上。 – femtoRgon

回答

1

這個帖子已經回答了原來的海報和其他 - 只是總結,作爲一個答案:

推薦的解決方案是創建一個每個核心指標區域設置/語言。如果目錄或內容(例如產品名稱,說明,關鍵字)會有所不同並且商業更願意針對每個區域單獨管理它,這一點尤其重要。如果適用,這爲Solr執行特定於該語言環境的詞幹化和標記化提供了額外的好處。

我已經在那裏了優於維護多個字段或文檔中每個區域設置/語言相同的核心這一做法解決方案的一部分。我已經使用的大多數索引核心是6.

還必須記住,索引核心的添加將需要更新以支持進程(產品信息管理系統更新以將目錄加載到工作區管理以階段傳播重新索引到緩存無效)。