广州市公司网站建设平台,网络设计软件有哪些,网站快照出现两个,国内wordpress空间索引库就类似数据库表#xff0c;mapping映射就类似表的结构。我们要向es中存储数据#xff0c;必须先创建“库”和“表”。 mapping映射属性
mapping是对索引库中文档的约束#xff0c;常见的mapping属性包括#xff1a; type#xff1a;字段数据类型#xff0c;常见的… 索引库就类似数据库表mapping映射就类似表的结构。我们要向es中存储数据必须先创建“库”和“表”。 mapping映射属性
mapping是对索引库中文档的约束常见的mapping属性包括 type字段数据类型常见的简单类型有 字符串text可分词的文本、keyword精确值例如品牌、国家、ip地址 数值long、integer、short、byte、double、float、 布尔boolean 日期date 对象object index是否创建索引默认为true analyzer使用哪种分词器 properties该字段的子字段
{age: 321, weight: 520.1, isMarried: false, info: java实习生, email: 1216019850qq.com, score: [929.1, 199.5, 98.9], name: { firstName: 白, lastName: 李 }
} 对应的每个字段映射mapping age类型为 integer参与搜索因此需要index为true无需分词器 weight类型为float参与搜索因此需要index为true无需分词器 isMarried类型为boolean参与搜索因此需要index为true无需分词器 info类型为字符串需要分词因此是text参与搜索因此需要index为true分词器可以用ik_smart email类型为字符串但是不需要分词因此是keyword不参与搜索因此需要index为false无需分词器 score虽然是数组但是我们只看元素的类型类型为float参与搜索因此需要index为true无需分词器 name类型为object需要定义多个子属性 name.firstName类型为字符串但是不需要分词因此是keyword参与搜索因此需要index为true无需分词器 name.lastName类型为字符串但是不需要分词因此是keyword参与搜索因此需要index为true无需分词器 索引库的CRUD
创建索引库和映射
PUT /baima
{mappings: {properties: {info:{type: text,analyzer: ik_smart},email:{type: keyword,index: false},name:{properties: {firstName: {type: keyword}}}}}
} 结果
查询索引库
GET /baima结果 修改索引库
索引库一旦创建无法修改mapping.虽然无法修改mapping中已有的字段但是却允许添加新的字段到mapping中因为不会对倒排索引产生影响。
PUT /baima/_mapping
{properties:{age:{type:integer}}
}
结果 删除索引库
DELETE /baima
结果 文档操作
新增文档
POST /baima/_doc/1,1为id可以不填es会帮我随机生成
POST /baima/_doc/1
{info: java实习生,email: 1216019850qq.com,name: {firstName: 白,lastName: 李}
}
结果 查询文档
根据rest风格新增是post查询应该是get不过查询一般都需要条件这里我们把文档id带上。
GET /baima/_doc/1 结果 删除文档
删除使用DELETE请求同样需要根据id进行删除
DELETE /baima/_doc/1 结果 修改文档 修改有两种方式 全量修改直接覆盖原来的文档 增量修改修改文档中的部分字段 全量修改 全量修改是覆盖原来的文档其本质是 根据指定的id删除 新增一个相同id的文档
如果根据id删除时id不存在第二步的新增也会执行也就从修改变成了新增操作了
POST /baima/_doc/1
{info: es实习生,email: 1216019851qq.com,name: {firstName: 白白,lastName: 李}
}
增量修改
增量修改是只修改指定id匹配的文档中的部分字段
POST /baima/_update/1
{doc: {info: es实习生}
}