弹性搜索中的部分动态映射

时间:2018-01-17 09:53:19

标签: java elasticsearch

我需要禁用date数据类型的动态映射,并且必须在elasticsearch中添加date数据类型的特定映射。为此

我正在使用代码:

     CreateIndexResponse indexRequestBuilder = transportClient.admin().indices().prepareCreate(index_name).setSettings(
                        settings).addMapping(index_name, createMappingBuilder(index_name)).execute().actionGet();

        private static XContentBuilder createMappingBuilder(String typeName)
                  throws IOException
          {
            XContentBuilder builder = jsonBuilder().startObject().startObject(typeName).
    startObject("mappings").startObject(typeName).field("dynamic_date_formats","[\"dd/MM/yyyy\"]")
.endObject().endObject().endObject().endObject();

            return builder;
          }

运行此代码后,我遇到异常:

  

MapperParsingException [根映射定义不受支持   参数:[映射:   {INDEX_NAME = {dynamic_date_formats = [ “DD / MM / YYYY”]}}]];

弹性版本:2.4

任何更新都会有所帮助。 在此先感谢。

1 个答案:

答案 0 :(得分:1)

问题已在评论中指定解决,我在评论中提到的另一个问题已通过refreshindex调用

解决