1.elasticsearch的索引库操作
1.mapping映射属性
mapping是对索引库中文档的约束,常见的mapping属性包括:
type:字段数据类型,常见的简单类型有:
1.字符串:
text
(可分词的文本)、
keyword
(精确值,例如:品牌、国家、
ip
地址)
2.数值:
long
、
integer
、
short
、
byte
、
double
、
float
、
3.布尔:
boolean
4.日期:
date
5.对象:
object
index:是否创建索引,默认为
true
analyzer:使用哪种分词器
properties:该字段的子字段
2.索引库操作
1.创建索引库
PUT /索引库名称
{
"mappings": {
"properties": {
"字段名":{
"type": "text",
"analyzer": "ik_smart"
},
"字段名2":{
"type": "keyword",
"index": "false"
},
"字段名3":{
"properties": {
"子字段": {
"type": "keyword"
}
}
},
// ...略
}
}
}
2.查看、删除索引库
##查看索引库语法:
GET /索引库名
##删除索引库的语法:
DELETE /索引库名
3.修改索引库
##索引库和mapping一旦创建无法修改,但是可以添加新的字段,语法如下:
PUT /索引库名/_mapping
{
"properties":{
"新字段名":{
"type": "integer"
}
}
}
2.文档操作
1.新增文档的DSL语法如下:
POST /索引库名/_doc/文档id
{
"字段1": "值1",
"字段2": "值2",
"字段3": {
"子属性1": "值3",
"子属性2": "值4"
},
// ...
}
2.查看文档
GET /索引库名/_doc/文档id
3.删除文档
DELETE /索引库名/_doc/文档id
4.修改文档
##方式一:全量修改,会删除旧文档,添加新文档
PUT /索引库名/_doc/文档id
{
"字段1": "值1",
"字段2": "值2",
// ... 略
}
##方式二:增量修改,修改指定字段值
POST /索引库名/_update/文档id
{
"doc": {
"字段名": "新的值",
}
}