ES版本问题

ES版本问题

  1. ES版本变化
    ES版本问题
    ES6之前与ES6之后,在ES内部的核心索引结构有重大变化,随之导致的是应用层API的大量变化。

  2. ES5与ES6的索引库结构区别
    ES5版本的索引文档结构,一个索引库中可以创建多个类型:
    ES版本问题
    ES6及以上版本的索引文档结构,一个索引库中只能创建一种类型:
    ES版本问题

  3. ES官网说明
    ES版本问题
    官网解释:
    ES6创建的索引只能包含单个映射类型。
    ES7中的映射类型将被废弃。
    ES8将会彻底删除类型。
    可以看出,ES6是一个版本的分水岭,之前和之后的变化非常大。

  4. ES5与ES6相关API变化(只列举部分)
    4.1 创建映射API
    ES版本问题
    4.2 索引文档API
    ES版本问题
    4.3 词条搜索
    ES版本问题
    4.4 Ids搜索
    ES版本问题
    4.5 父子关系
    ES版本问题
    自ES6之后,_parent 属性已经被移除。

  5. ES6服务器中执行ES5语法问题示例:
    7.1 创建索引(成功)
    ES版本问题
    7.2 创建第一个类型映射(成功)
    ES版本问题
    7.3 创建第二个类型映射(失败)
    ES版本问题

错误信息:一个索引中只能创建一个类型。
7.4 添加子文档(未进行)
ES版本问题
由于不能用ES5的语法创建父子关系,所以用ES5的语法添加子文档也无法进行。
7.5 has_child查询(未进行)
ES版本问题
ES5使用has_child查询时需要指定子文档类型,而ES6中一个索引库只能有一种类型,所以has_child中只能指定一个文档类型,依靠join字段进行父子连接,而ES5中就没有join。