我正在做一个项目,使用Elasticsearch执行多语言全文搜索。我正在使用的历史训练数据集也是多语言的,我现在正在尝试使用语言分析器和语言检测配置文本分析。
1)我使用下面的链接作为指南,因为它是写在第一段我需要安装一个推理摄取处理器.我如何安装它?(我不熟悉Java和新的elasticsearch)https://www.elastic.co/de/blog/multilingual-search-using-language-identification-in-elasticsearch
2)Elasticsearch提供了许多语言的语言分析器,我需要配置8种语言的分析器,如果我按照这个链接https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-lang-analyzer.html,我将不得不创建8个不同的自定义分析器,这是相当长的。有没有更短的方法来编写8种语言的一个设置?
1条答案
按热度按时间zed5wv101#
首先,正如博客中提到的,
an Inference Ingest Processor
是一个机器学习(ML)功能,除非你有一个用例,否则你不需要它,而且它是X-pack的一部分,而不是核心的Elasticsearch,所以如果X-pack的基本层中不包括它,你可能必须启用X-pack模块并购买。关于你的第二个问题,正如博客中提到的两种方法,一种是为每种语言建立单独的索引,这样你就不必定义所有特定于语言的字段,第二种方法是为每种语言建立一个字段,所有语言都将成为同一索引的一部分。
维护8个自定义分析器没有任何开销,因为大多数分析器都是内置的,您可以检查Elasticsearch language analyzers,这些分析器在您的用例中都受支持。如果您必须创建其他分析器,这些分析器将是一次性的工作,并且将是您的设置和Map的一部分。
下面是每个字段方法的一个示例索引Map,其中我使用了大多数常用语言的内置分析器。