使用Kibana对文档操作
1.新增文档
新增文档并随机生成id: POST /索引库名/类型名{"key","value"}
新增文档并自定义id:POST /索引库名/类型名/id值 {"key","value"}
2.查看文档 如果查询的文档不存在则返回false
3.修改文档
这里需要注意,如果id对象的文档存在,就会修改对应的文档,如果不存在,则新增
4.删除文档
智能判断
在对subTitle字段做数据初始化的时候,设置的是字符串类型数据,ES无法智能判断,它就会存在两种字段类型 subtitle:text类型 subtitle.keyword:keyword类型
动态模板
注意:1.title字段:统一映射为text类型,并制定分词器
2.其它字段:只要是string类型,统一都处理为keyword类型
"dynamic_templates": [ { "my_template_name": { ... match conditions ... "mapping": { ... } } }, ... ]
动态模板允许您更好地控制Elasticsearch如何在默认动态字段映射规则之外映射数据。通过将动态参数设置为true或runtime,可以启用动态映射。然后,您可以使用动态模板定义自定义映射,这些映射可以应用于基于匹配条件动态添加的字段
match_mapping_type :对Elasticsearch检测到的数据类型进行操作。
match 和 unmatch :使用模式匹配字段名。
path_match 和 path_unmatch :在字段的全点路径上操作。
如果动态模板未定义match_mapping_type、match或path_match,则不会匹配任何字段。您仍然可以在批量请求的dynamic_templates部分中按名称引用模板。在映射规范中使用{name}和{dynamic_type}模板变量作为占位符
只有当字段包含具体值时,才会添加动态字段映射。当字段包含null或空数组时,Elasticsearch不会添加动态字段映射。如果在dynamic_template中使用了null_value选项,那么它只会在第一个具有该字段具体值的文档被索引之后才会被应用
模板名称可以是任何字符串值
匹配条件可以包括以下任一:match_mapping_type 、 match 、 match_pattern 、 unmatch 、 path_match 、 path_unmatch
凡是符合条件的未定义字段,都会按照这个规则来映射