3

我尝试在新的 AWS Elasticsearch 6.0 上创建一个带有连接数据类型的索引。

遵循 Elasticsearch 6.0 文档的说明:https ://www.elastic.co/guide/en/elasticsearch/reference/6.0/parent-join.html

PUT my_index
{
  "mappings": {
    "doc": {
      "properties": {
        "my_join_field": { 
          "type": "join",
          "relations": {
            "question": "answer" 
          }
        }
      }
    }
  }
}

然后我收到以下错误:

{
  "error": {
    "root_cause": [
      {
        "type": "mapper_parsing_exception",
        "reason": "No handler for type [join] declared on field [my_join_field]"
      }
    ],
    "type": "mapper_parsing_exception",
    "reason": "Failed to parse mapping [doc]: No handler for type [join] declared on field [my_join_field]",
    "caused_by": {
      "type": "mapper_parsing_exception",
      "reason": "No handler for type [join] declared on field [my_join_field]"
    }
  },
  "status": 400
}

我想知道我是否遗漏了什么?谢谢!

4

1 回答 1

4

我遇到了同样的问题。根本原因是 AWS 打包的 ElasticSearch 服务中缺少模块。如果您比较本地安装的配置和 AWS 提供的配置,您会发现缺少此模块:

{
      "name" : "parent-join",
      "version" : "6.0.0",
      "description" : "This module adds the support parent-child queries and aggregations",
      "classname" : "org.elasticsearch.join.ParentJoinPlugin",
      "has_native_controller" : false,
      "requires_keystore" : false
}

AWS ES 6.0 中现已提供该功能

于 2017-12-19T15:59:21.290 回答