5

我使用Lucene.net来索引网站上的内容和文档等。索引非常简单,格式如下:

LuceneId - Lucene 的唯一 id (TypeId + ItemId)
TypeId - 文本类型(例如页面内容、产品、公共文档等)
ItemId - 网页 id、文档 id 等。
文本 - 索引的文本
标题 - 与搜索结果一起显示的网页标题、文档名称等

我有这些选项来调整它以提供多语言内容:

  1. 为每种语言创建一个单独的索引。例如 Lucene-enGB、Lucene-frFR 等。
  2. 保留一个索引并向其添加一个额外的“语言”字段以过滤结果。

哪个是最好的选择 - 或者还有其他选择吗?我以前没有使用过多个索引,所以我倾向于第二个。

4

2 回答 2

3

我有 [2],但我遇到的一个问题是我不能根据语言使用不同的分析器。我已经组合了我想要的语言的停用词,但是我失去了分析器将提供的更高级的东西的能力,比如词干等。

于 2009-03-03T17:02:23.067 回答
2

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

  • 为“ Text ”创建 2 个字段:1 个字段,“ Text ”,使用标准分析器进行索引/搜索,另一个字段“ Text_AR ”,使用 arabicAnalyzer。为了实现这一点,您可以使用 PreFieldAnalyzerWrapper
于 2013-03-26T20:39:13.310 回答