使用Lucene.net索引多语言内容

时间:2009-02-16 14:06:51

标签: search localization lucene.net multilingual

我使用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. 保留一个索引并为其添加一个额外的“语言”字段以过滤结果。
  3. 哪个是最佳选择 - 还是另一个?我之前没有使用多个索引,所以我倾向于第二个。

2 个答案:

答案 0 :(得分:2)

我做[2],但我遇到的一个问题是我根据语言不能使用不同的分析器。我已经结合了我想要的语言的停用词,但是我失去了分析器提供的更先进的东西的功能,例如词干等。

答案 1 :(得分:1)

您可以取消选项1和2.
您可以使用一个索引,包含阿拉伯语单词的字段为每个索引创建两个文件: 如果您有字段“文字”可能包含阿拉伯语或英语内容==>

  • 为“文字”创建2个字段:1个字段,“文字”,使用您的标准分析器进行索引/搜索,另一个字段为“ Text_AR “,与arabicAnalyzer。为了实现你可以使用 PreFieldAnalyzerWrapper