网站的关键词在哪设置,做酒类直供网站行吗,安防网站源码,wordpress 开发搜索框文章目录 二、索引库与文档2.1 mapping映射属性2.2 操作索引库2.3 文档操作 二、索引库与文档
2.1 mapping映射属性
mapping映射属性
官方网址#xff1a;https://www.elastic.co/guide/en/elasticsearch/reference/7.12/dynamic-mapping.html
mapping 是对索引库中文档的… 文章目录 二、索引库与文档2.1 mapping映射属性2.2 操作索引库2.3 文档操作 二、索引库与文档
2.1 mapping映射属性
mapping映射属性
官方网址https://www.elastic.co/guide/en/elasticsearch/reference/7.12/dynamic-mapping.html
mapping 是对索引库中文档的约束常见的mapping属性包括
type: 字段数据类型常见的简单类型有 字符串: text (可分词的文本)keyword (精确值例如: 品牌、国家、ip地址)。如下email字段就是不可拆分字段。info属于可拆分字段。数值: long、integer、short、byte、double、float、布尔: boolean日期: date对象: object index:是否创建索引默认为trueanalyzer:使用哪种分词器properties:该字段的子字段
{age: 21,weight: 52.1,info:我们在学ES,isMarried: false,email:zyitcast.cn,score: [99.199.598.9],name:{firstName:云,LastName:赵}
}2.2 操作索引库
ES中通过Restful请求操作索引库、文档。请求内容用DSL语句来表示。创建索引库和mapping的DSL语法如下
PUT /索引库名称
mappings: {properties: {字段名:{type:text,analyzer:ik_smart}字段名2:{type:keyword,index:false}字段名3:{properties: {子字段: {type:keyword}}}},// 略
}索引库的CRUD
# 创建索引库
PUT /hhyy
{mappings: {properties: {info:{type:text,analyzer: ik_smart},email:{type: keyword,index: false},name:{type: object,properties: {firstName:{type:keyword},lastName:{type:keyword}}}}}
}# 创建
PUT /hhyy
# 删除
DELETE /hhyy
# 查询
GET /hhyy# 修改[添加新字段],只能添加不能更新
# 更新索引过于消耗资源
PUT /hhyy/_mapping
{properties:{age:{type:integer}}
}2.3 文档操作
添加文档
新增文档的DSL语法如下
POST /索引库名/_doc/文档id
{字段1:值1,字段2:值2,字段3:{子属性1:值3,子属性2:值4},
} 示例
# 插入文档
POST /hhyy/_doc/1
{info:我们学习ES,email:hhhout.com,name:{firstName:Jack,lastName:hh}
}# 获取
GET /hhyy/_doc/1
# 删除
DELETE /hhyy/_doc/1修改
# 修改文档
# 全量修改会删除旧文档添加新文档
# 若id存在就修改不存在就新增
PUT /hhyy/_doc/2
{info:我们学习ES1111,email:hhhout.com,name:{firstName:Jack,lastName:hh}
}
GET /hhyy/_doc/2# 增量修改
POST /hhyy/_update/2
{doc:{info:我们都要努力学习ES}
}GET /hhyy/_doc/2上一篇一、初识 Elasticsearch概念安装设置分词器
下一篇三、RestClientwriting