SpringCloud(七.2)ES(elasticsearch)索引库、文档相关操作
ES相关操作
操作索引库(可以理解为创建表结构)
文档操作(可以理解为表中的数据)
操作索引库
mapping属性
mapping是对索引库中文档的约束,常见的mapping属性包括:
type:数据类型,具体有哪些类型见下图。 (注意:1、数据类型中并没有数组类型 2、字符串类型如果不需要分词就定义为keyword类型,需要分词的才定义为text)
index:是否索引(默认为true)--- 默认所有字段都会创建索引,支持搜索。但在实际开发中并不是所有数据都需要搜索,比如:邮箱、头像(URL)等等。所以这时就需要把字段的属性设置成false。
analyzer:分词器 --- 只有 数据类型为 字符串 text 需要分词
properties:子字段
创建索引库
ES中通过 restful 请求操作索引库、文档。请求内容用DSL语句来表示。创建索引库和mapping的DSL语法如下:
查看索引库
GET /索引库名称
删除索引库
DELETE /索引库名称
修改索引库
ES中禁止修改现有索引库内容,但可以添加新的字段,语法如下:
如果添加的字段已存在,会报错。如下图age字段已存在:
文档操作
新增文档
注意:文档id如果自己不指定,ES会随机生成一个文档id。
查询文档
GET /索引库名/_doc/文档id
删除文档
DELETE /索引库名/_doc/文档id
修改文档
注意:
1、PUT 操作相当于先找到文档id,删除再新增。
2、如果修改的文档id不存在,则此操作就变成了新增操作。