当前位置: 首页 > 面试题库 >

使用Elastic4s的动态ElasticSearch映射

陶英纵
2023-03-14
问题内容

我有一个要在elasticSearch上建立索引的文档,该文档包含一些我事先不知道的动态键,例如下面的示例中的“ spanish”或“ french”

"contents": {
    "title": {
        "spanish": "Hola amigos",
        "french" : "Bonjour les amis"
    }
}

我使用的是DSL
elastic4s为了使我的映射(通过在DSL的createIndex),但我找不到如何创建,使用这个库的基础上,“匹配”选项动态映射(如建议在这里),在为了为路径content.title下存储的每种语言指定不同的分析器。

有任何曲目吗?:-)


问题答案:

您目前无法在elastic4s Scala API中执行所需的操作。但是您可以在Java API中创建动态模板,并在其余的调用中使用Scala API。

可以将动态模板设置为使用正则表达式并应用映射。但是,既然您真的会提前知道自己的国家(只有200个左右),为什么不花时间去作图呢?



 类似资料:
  • 我正在尝试使用RestHighLevelClient为elastic创建一个动态模板。中注释掉的代码片段是用于静态映射的,它可以工作。然而,我在尝试创建动态映射时遇到了问题。 我的意图是将以结尾的任何属性视为long,将以结尾的任何属性视为文本。 有人能指出我做错了什么吗? 我的代码片段: 主要方法: 助手方法: 参考指南:https://www.elastic.co/guide/en/elast

  • 问题内容: 也许我缺少一些简单的东西,但仍然无法弄清楚以下内容: 从ES 6.x开始,该字段已弃用,建议使用说明(https://www.elastic.co/guide/en/elasticsearch/reference/current/copy- to.html )。 但是,给我的印象是,您需要显式指定要复制到自定义字段的字段。但是,如果我使用动态映射,则我不事先知道字段,因此不能使用? 我

  • 问题内容: 有没有一种方法如何将设置从属性文件传递给elastic4s?以下方法有效,但在市政环境中不灵活: 我尝试按Java doc中的说明尝试使用Java配置文件elasticsearch.yaml,但这不起作用。 有什么建议吗? 问题答案: 您可以使用与Java客户端相同的方法来执行此操作。ImmutableSettings是一个Java Client类,而不是特定于elastic4s的类。

  • 我想将字段类型从“string”更改为“date”(具体格式为“epoch\u second”)。由于无法更新现有索引的映射,因此我需要创建一个新索引,我最想使用现有索引的映射。以下是我正在使用的内容: Curl-XGET'http://localhost:9200/sam/saga/_mapping?pretty' 要将当前索引的映射转储到json文件中,其内容如下: 然后我替换 具有 并将新文

  • 问题内容: 我正在尝试仅针对特定索引而不是对所有索引禁用动态映射创建。由于某种原因,我无法将 默认 映射与’dynamic’:’false’ 放在一起。因此,在这里我看到了两个选项: 指定属性 “index.mapper.dynamic” 文件 elasticsearch.yml 。 将 “ index.mapper.dynamic” 放在索引创建时,如此处https://www.elastic.