首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用语言弹性搜索的多语种搜索

使用语言弹性搜索的多语种搜索
EN

Stack Overflow用户
提问于 2020-06-19 10:16:59
回答 1查看 1.4K关注 0票数 2

我正在进行一个使用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种语言编写一个设置?

EN

回答 1

Stack Overflow用户

发布于 2020-06-19 10:49:31

首先,正如博客中提到的,an Inference Ingest Processor是一个机器学习( Machine,ML)特性,除非您有一个用例,否则您不需要它,而且它也是X包的一部分,而不是核心的Elasticsearch,所以如果X包的基本层中没有包含它,您可能不得不启用X模块并购买它。

关于你的第二个问题,正如博客中提到的,有两种方法,一种是为每种语言建立一个单独的索引,这样你就不必定义所有特定于语言的字段,第二种方法是为每种语言使用一个字段,而所有语言都是同一索引的一部分。

没有维护8个自定义分析器的开销,因为大多数分析器都是内置的,您可以检查在用例中都支持的Elasticsearch语言分析器。而其他的,如果你必须创建它,将仅仅是一次的努力,并将成为您的设置和映射的一部分。

下面是每个字段方法的索引映射示例,我正在使用大多数常用语言的内置分析器。

代码语言:javascript
复制
{
    "mappings": {
        "properties": {
            "en": {
                "type": "text",
                "analyzer": "english"
            },
            "russian": {
                "type": "text",
                "analyzer": "russian"
            },
            "spanish": {
                "type": "text",
                "analyzer": "spanish"
            },
            "swedish": {
                "type": "text",
                "analyzer": "swedish"
            }
        }
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62468077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档