我很好奇是否有通用分析器可以很好地提取/分析不同语言的文本。对于某些任务,进行适当的多语言搜索(例如将字段 name
拆分为 name.english
、name.french
等)似乎就像矫枉过正一样。
是否有一个分析器可以去除后缀(例如“dogs”-->“dog”)并且不仅仅适用于英语?我真的不在乎它是否进行语言检测等,并致力于例如浪漫语言和日耳曼语言可能就足够了。或者,质量损失是否足够严重,以至于值得使用特定于语言的分析器和特定于语言的查询?
最佳答案
您最好的选择是使用 icu 分析仪。它们对于规范化很有用,但对于词干提取等事情不太有用,因为词干本质上是特定于语言的。
此外,可以使用单独的语言字段并根据该字段的值使用不同的分析器。因此,您可以结合这两种方法并回退到 icu 分词器并使用专门的分析器支持您关心的语言:http://www.elasticsearch.org/guide/reference/mapping/analyzer-field/
您可能想观看最近在柏林流行语 session 上有关多语言支持的演示:http://www.youtube.com/watch?v=QI0XEshXygo 。里面有很多好东西。跳至第 27 分钟查看使用不同分析器的示例。
关于lucene - Lucene/ElasticSearch 的不错的多语言词干分析器或分析器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17352930/