Lucene/ElasticSearch的体面多语言词干仪或分析器



我很好奇是否有通用分析器可以很好地处理/分析可能使用不同语言的文本。对于某些任务,进行适当的多语言搜索(例如,将字段name拆分为name.englishname.french等)似乎有些过头了。

有没有一个分析器可以去掉后缀(例如"dogs"-->"dog"),并不仅仅适用于英语?我真的不在乎它是否能进行语言检测等,也不在乎它只是在例如浪漫&德语可能就足够了。或者,质量的损失是否足够严重,以至于只使用特定语言的分析器和特定语言的查询总是值得的?

您最好使用icu分析仪。它们对规范化很有用,但对词干之类的东西不太有用,词干本身就是特定于语言的。

此外,还可以使用一个单独的语言字段,并根据该字段的值使用不同的analyzer。因此,您可以将这两种方法结合起来,并使用专门的分析器返回到您关心的icu标记器和支持语言:http://www.elasticsearch.org/guide/reference/mapping/analyzer-field/

您可能想在最近的柏林Buzzwords会议上观看关于多语言支持的演示:http://www.youtube.com/watch?v=QI0XEshXygo.里面有很多好东西。跳到第27分钟,获取使用不同分析器的示例。

最新更新