目录
上一篇文章
elasticsearch学习(四)kibana安装
https://blog.csdn.net/github_36801273/article/details/151076329?spm=1011.2124.3001.6209
文档CRUD
创建索引
PUT /my-index
{
"mappings": {
"properties": {
"testFieldA": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"testFieldB": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
}
mapping的部分不是必须的,可以通过先创建索引,然后写入数据的方式自动生成mapping
查看索引字段mapping
GET /my-index/_mapping
{
"my-index": {
"mappings": {
"properties": {
"testFieldA": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"testFieldB": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
}
}
更新mapping
POST /my-index/_mapping
{
"properties": {
"testFieldC": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"testFieldB": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 512
}
}
}
}
}
只能新增和更新字段,不能删除字段,删除字段用reindex
删除索引
DELETE /my-index
测试索引是否存在
HEAD /my-index
查看索引字段结构
GET /my-index/_mapping
删除索引
DELETE /my-index
文档命令
创建文档
Index
如果ID不存在,则创建新的,否则删除旧的再创建新的,增加版本号
POST /my-index/_doc
{
"id": "park_rocky-mountain",
"title": "Rocky Mountain",
"description": "Bisected north to south by the Continental Divide, this portion of the Rockies has ecosystems varying from over 150 riparian lakes to montane and subalpine forests to treeless alpine tundra."
}
Create
// 不指定ID(系统自动生成)
POST /my-index/_doc
{
"testFieldA":"testA1",
"testFieldB":"testB1"
}
// 指定ID
POST /my-index/_doc/2
{
"testFieldA":"testA2",
"testFieldB":"testB2"
}
Create与Index的区别
create的文档ID如果已存在,会报失败
index的文档ID不存在,会新建,否则会把原来的删除了再增加
更新文档
POST /my-index/_update/2
{
"doc":{
"testFieldA":"updateTestA2"
}
}
删除文档
DELETE /my-index/_doc/2
查询文档
支持两种方式:
1 url查询,在url路径中使用查询参数
2 用DSL(Query Domain Specific Language)
简单查询语法
api | 作用 |
---|---|
/_search | 查询集群上所有索引 |
/{index_name}/_search | 查询指定索引 |
/{index_name1},{index_name2},{…}/_search | 查询多个指定索引 |
/{index_prex}*/_search | 查询以{index_prex}为开头的索引 |
// 指定ID查询
GET /my-index/_doc/2
// 查询全量数据
GET /my-index/_search
// 查询my开头的索引数据
GET /my*/_search
// URL查询
GET /my-index/_search?q=testFieldA:updateTestA2
// DSL查询
GET /my-index/_search -H 'Content-Type:application/json' -d
{
"query":{
"match":{"testFieldA":"updateTestA2"}
}
}