使用Solr索引多种语言

Ale*_*exV 12 java lucene solr

我们正在设置一个Solr索引文档,其中title字段可以是各种语言.谷歌搜索后,我找到了两个选项:

  1. 为每种语言定义不同的模式字段,即title_en,title_fr,...对每种语言应用不同的过滤器,然后使用相应的语言查询其中一个标题字段.
  2. 创建不同的Solr核心来处理每种语言并使我们的应用程序查询正确的Solr核心.

哪一个更好?有什么起伏?

谢谢

Joh*_*erg 9

还有第三种方法,您可以为所有语言使用一组通用字段,但对字段应用过滤器language.例如,如果您有字段text,则language可以将所有语言的文本内容放入text字段中,并使用例如fq=language:english仅检索英文文档.

这种方法的缺点是,你不能用语言具体的功能,例如lemmatisation,stemming等等.

为每种语言定义不同的模式字段,即title_en,title_fr,...对每种语言应用不同的过滤器,然后使用相应的语言查询其中一个标题字段.

这种方法具有良好的灵活性,但在存在多种语言时要注意高内存消耗和复杂性.这可以使用多个solr服务器来缓解.

创建不同的Solr核心来处理每种语言并使我们的应用程序查询正确的Solr核心.

绝对是一个很好的解决方案.但是,单独的管理和轻微的开销是否对您有用可能与您希望使用的语言数量有关.

除非第一种方法适用,否则我可能倾向于第二种方法,除非不需要核心的可扩展性.这两种方法都很好,我认为它基本上归结为偏好.