武进网站建设平台,兰州市政建设集团官网,怎么做网页小游戏,京东这样的网站怎么做一、前言
前面有相关系列文章介绍了ES的基本概念和各种版本SDK的使用#xff0c;ES现在已升级到8.5版本#xff0c;有些概念和SDK用法都有很大变化#xff0c;后续ES相关的文章会以8.3版本为基准介绍一些实际中应用需要掌握的概念以及一些比较实际的例子。
二、映射
ES环…一、前言
前面有相关系列文章介绍了ES的基本概念和各种版本SDK的使用ES现在已升级到8.5版本有些概念和SDK用法都有很大变化后续ES相关的文章会以8.3版本为基准介绍一些实际中应用需要掌握的概念以及一些比较实际的例子。
二、映射
ES环境搭建好后最先要考虑的就是如何定义映射映射相当于表结构它是定义文档及其包含的字段如何存储在索引库的过程。
映射分为动态映射和显式映射
1、动态映射
使用动态映射在写入索引数据时不需要先创建索引和定义字段。字段和字段类型会根据规则自动创建。
在kinaba的dev tools中直接写入索引数据 然后我们用命令get /dy_idx/_mapping 查一下索引结构
返回几个字段表示它会根据规则自动给你设置了类型count是long类型create_date是date类型memo是text类型。 然后我们再写入一条数据把count改成字符串 这时会报错因为字段类型根据第一次写入已经设置好了后面写入的数据会受类型的约束。 映射规则如下大致了解一下就行 默认是采用dynamic:true规则。
注另外可以自己定义日期和数字检测规则或关闭掉自动检测。
2、显式映射
写入数据前需要先定义好映射结构定义后写入数据受类型约束一般使用这种方式定义会更简单一些。 写入数据 注因为定义中birth字段包含了时间写数据时也必须符合格式带上时间。
3、ElasticSearch字段类型
常用类型 binary存base64结果值或二进制值、boolean、keyword不分词不能进行全文检索、numberslong、double、date、alias别名、text存储时会分词并建立索引适合全文搜索。
对象和关系类型 object(json对象)、nested(嵌套)、array。
其它类型 range、rank_feature、token_count、ip、geo_point、geo_shape
三、索引模板
这里我们仅介绍静态模板动态模板比较复杂暂时也用不到。
索引模板的使用场景比如我们的库存快照数据需要按天创建索引存储数据即每天一个索引文件如果没有索引模板我们就需要每天定时创建索引映射但有了索引模板你插入数据时会检查有没有此索引名称匹配的索引模板如果有就按模板创建索引映射最后插入数据。
1、创建模板 注这里index_patters 设置为正则匹配。
2、写入数据
2022年11月15日一个索引文件 2022年11月16日一个索引文件 注下面这个为批量写入的语法第一条store_id为aa写入会失败因为受到索引模板字段类型的约束。
在kinaba的Index Manager中可以看到生成了两个索引文件。