lucene - Lucene/ElasticSearch 的不错的多语言词干分析器或分析器?

标签 lucene elasticsearch multilingual

我很好奇是否有通用分析器可以很好地提取/分析不同语言的文本。对于某些任务,进行适当的多语言搜索(例如将字段 name 拆分为 name.englishname.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/

相关文章:

lucene - Solr/Solrj : How can I determine the total number of documents in an index?

java - 将 Lucene 中的查询与 BooleanQuery 结合起来

elasticsearch - Kibana脚本字段

elasticsearch - Elasticsearch:使用脚本从数组生成术语

ios - IOS 中的多语言设计支持

umbraco - 设置 Umbraco 索引

elasticsearch - Elasticsearch普通查询到BoolQuery的转换不起作用

elasticsearch - 在Elasticsearch中更新过滤的文档

Magento 语言切换商店代码 URL

symfony - 使用ElasticaBundle和Translatable搜索多语言记录