ES索引库和文档操作
目录
mapping属性
索引库创建
查看、删除索引库
修改索引库
文档操作
添加文档
删除文档
修改文档
查看文档
索引库操作
mapping属性
mapping是对索引库中文档的约束,常见的mapping属性包括( 官网):
- type:字段数据类型,常见的简单类型有:
- 字符串:text(可分词的文本)、keyword(精确值,例如:品牌、国家、ip等)
- 数值:long、integer、short、byte、double、float
- 布尔:boolean
- 日期:date
- 对象:object
- index:是否创建索引,默认为true
- analyzer:使用哪种分词器(作用在text上)
- properties: 该字段的子字段
索引库创建
ES中通过Restful请求来操作索引库、文档。请求内容用DSL语句来表示。
创建索引库和mapping的DSL语法如下:
PUT /索引库名称
{
"mappings": {
"propertues": {
"字段名1":{
"type": "text",
"analyzer": "ik_smart"
},
"字段名2":{
"type": "keyword",
"index": "flase"
},
"字段名3":{
properties:{
"type": "keyword"
}
},
//.......以下省略
}
}
}
查看、删除索引库
查看索引库语法:
GET /索引库名
示例:
GET /bank
删除索引库语法
DELETE /索引库名
示例:
DELETE /bank
修改索引库
这是被禁止的哦!修改后会影响性能。
索引库和mapping一旦创建无法修改,但是可以添加新的字段
PUT /索引库名/_mapping
{
"properties": {
"新字段名": {
"type": "integer"
}
}
}
文档操作
添加文档
新增文档的DSL语法如下:
POST /索引库名/_doc/文档id
{
“字段1”: "值1",
“字段2”: "值2",
“字段3”: {
“子属性1”: "值1",
“子属性2”: "值2"
},
......
}
删除文档
DELETE /索引库名/_doc/文档id
修改文档
方式一:全量修改,删除旧文档、添加新文档
PUT /索引库名/_doc/文档id
{
"字段1" : "值1",
"字段2" : "值2",
"字段3" : "值3",
// .......
}
方式二:增量修改,修改指定字段
POST /索引库名/_update/文档id
{
"doc" : {
"字段名": "新值",
}
}
查看文档
GET /索引库名/_doc/文档id
其他内容会在本专栏后面继续说明......
UInterest: 你好,我想请问一下,把富文本默认的粘贴取消掉后,能不能设置成我自己设置的默认样式啊?
接接的不接接: 说得好,让我自娱自乐一下
慵懒的橘猫: 对的,后来想到了
接接的不接接: 如果是选中完一个表情后关闭弹框的话,在selectEmoji方法中将对应控制弹框显示的变量设置为false即可,或者也可以设置监听页面点击事件关闭弹框
慵懒的橘猫: 选中表情包之后关闭弹框怎么实现