场景
首先介绍测试的场景,本系列schema定义
|----------------------------------------------------------------------------|----------------------------------------------------------------------------|
| |
|
pdm文档索引,包括nested,作为文档扩展属性字段,_content字段是组件保留字段,支持文本内容,字段属性还有其他属性,如boost,getter,search策略(match, match phrase,query_string等),索引分词器,查询分词器,是否高亮等
索引
索引服务负责索引的操作,包括构建,put mapping,alias,更新,删除等
构建索引

CreateIndexRequest 构建索引请求,支持设置索引的分片和复制;分词器,通常索引级分词器可满足要求,不需要每个字段设置,字段设置在put mapping,本组就也可以支持字段的分词器设置,在schema设置相关属性
put Mapping
put mapping定义索引字段属性,类似数据库的表,虽然elasticsearch支持schema free,通常严格定义更符合应用要求,保证类型,格式符合要求

构建PutMappingRequest

解释索引schema,构建Property,支持nested类型

根据字段类型定义,构建相应的Property

上图是Keyword类型Property的构建,设置字段是否存储(store),是否要索引分析(index)

上图是nested字段,构建NestedProperty,其引用Property
alias
索引别名对于管理很有用,特别是索引的迁移

alias 可以多个索引共用,即,上面的index 参数应该是数组,但该api 没有使用,管理员有管理台,暂时不改动
效果
本节展示索引api 效果

Head 插件展示构建的索引,alias 可以设置多个,设置复制2 ,只有一个节点
下面看一下索引信息

分片,复制,默认分词器设置为ik_smart

上图mapping ,其中包括nested,注意,这图是写入文档后,未写入nested字段没有属性,后面用户写入不断扩展字段
后来后续解释搜索,聚合