2009-02-16 152 views
4

我使用Lucene.net索引內容&文件等..在網站上。該指數是非常簡單的格式如下:使用Lucene.net索引多語言內容

 
LuceneId - unique id for Lucene (TypeId + ItemId) 
TypeId - the type of text (eg. page content, product, public doc etc..) 
ItemId - the web page id, document id etc.. 
Text  - the text indexed 
Title - web page title, document name etc.. to display with the search results 

我已經得到了這些選項,以適應其服務的多語言內容:

  1. 爲每種語言創建一個單獨的索引。例如。 Lucene-enGB,Lucene-frFR等。
  2. 保留一個索引併爲其添加一個額外的「語言」字段以過濾結果。

哪一個是最好的選擇 - 還是有另一個?我之前沒有使用多個索引,所以我傾向於第二個。

回答

2

我這樣做[2],但我有一個問題是我不能使用不同的分析儀,這取決於語言。我已經結合了我想要的語言的停用詞,但是我失去了分析器將提供的更高級內容的能力,例如詞幹分析等。

1

您可以消除選項1和2.
您可以使用一個索引和包含阿拉伯語單詞的領域創造個域中的每個: 如果你有場「文本」可能包含阿拉伯語或英語內容==>

  • 爲「文本」創建2場:1場,「Text」,用你的st索引/搜索andardard分析儀和另一個,「Text_AR」,與阿拉伯語分析儀。爲了實現你可以使用 PreFieldAnalyzerWrapper