如何在Elasticsearch上索引混合语言内容?

时间:2018-06-08 06:17:41

标签: elasticsearch indexing full-text-search search-engine multiple-languages

如何在Elasticsearch中索引混合语言内容。假设我们有一个人们提交来自世界各地的内容的系统。国家的范围从美国,加拿大,欧洲,日本,韩国,印度,中国,肯尼亚,阿拉伯人,俄罗斯到世界其他所有地区。

内容可以使用我们事先无法知道的任何语言,甚至可以使用混合语言。我们不想猜测内容的语言,并为每种输入的语言创建多种语言特定的索引,我们认为这是无法管理的。

我们需要一个简单的解决方案,在Elasticsearch中有效地索引这些内容,具有全文搜索功能以及模糊字符串搜索功能。任何人都可以在这方面提供帮助吗?

1 个答案:

答案 0 :(得分:0)

您要实现的目标是什么?您是否只想使用查询时使用的语言来匹配?还是您也接受其他语言的匹配?

一种方法是在输入上运行elasticsearch的所有不同语言分析器,并将结果存储在单独的字段中,例如,以当前分析器的语言作为后缀。 然后,在查询时,如果您无法猜测最相关的字段,则必须在这些字段的全部中进行搜索。

但是,由于您创建了大量未使用的重复项,因此很有可能会爆炸。恕我直言,这还不如拥有单独的索引那么优雅。

我强烈建议您评估一下您是否真的不知道制作过程中会看到的语言数量。每种语言都有不同的索引可以使您更好地控制输入/输出,并使您可以根据实际用例对引擎进行微调。

或者,您可以从一个简单的空白标记器开始,并评估搜索结果的质量(按用例)。 您将没有特定于语言的词干,但是至少对于大多数语言来说都是令牌流。