ElasticSearch 2中的上下文建议器映射失败

时间:2016-03-23 17:24:14

标签: elasticsearch

更新到ElasticSearch 2后,我无法为不同类型映射ContextSuggester

PUT /test/foo/_mapping
{
  "properties": {
    "suggest": {
      "type": "completion",
      "context": {
        "type": {
          "type": "category",
          "path": "_type",
          "default": [
            "foo"
          ]
        }
      }
    }
  }
}

PUT /test/bar/_mapping
{
  "properties": {
    "suggest": {
      "type": "completion",
      "context": {
        "type": {
          "type": "category",
          "path": "_type",
          "default": [
            "bar"
          ]
        }
      }
    }
  }
}

将第二种类型的地图放在以下例外中:

  

Mapper [建议]与其他类型的现有映射冲突:[mapper [suggest]具有不同的[context_mapping]值]

问题是不同类型的默认值不同。从我的观点来看,这应该是预期的方法。我该如何解决这个问题?

ES的测试版本:2.2.1

1 个答案:

答案 0 :(得分:1)

您发生了字段冲突。

Mapping - field conflicts

  

映射类型用于对字段进行分组,但是每个字段中的字段   映射类型不是彼此独立的。字段:

     
      
  • 同名
  •   
  • 在同一索引中
  •   
  • 采用不同的映射类型
  •   
     

在内部映射到同一字段,并且必须具有相同的映射。如果一个   titleuser映射类型中都存在blogpost字段   title个字段在每种类型中必须具有完全相同的映射。唯一的   此规则的例外情况是copy_todynamicenabled,   ignore_aboveinclude_in_allproperties参数,可能是。{   每个字段有不同的设置。

创建单独的索引或重命名其他类型的字段。