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