elasticsearch的常用操作

索引操作

注意

Elasticsearch使用RESTful风格的http请求访问操作,请求参数和返回值都是Json格式

请求访问路径:/索引名【在kibana中所有的请求路径我们不用写ip地址:端口号】

创建没有结构的索引

PUT /索引名

为索引添加结构

POST /索引名/_mapping

{
  "properties":{
    "域名1":{
      "type":域的类型,
      "store":是否存储,
      "index":是否创建索引,
      "analyzer":分词器
    },
    "域名2":{
      ...
    }
  }
}          

创建有结构的索引

PUT /索引名

{
  "mappings":{
    "properties":{
      "域名1":{
        "type":域的类型,
        "store":是否单独存储,
        "index":是否创建索引,
        "analyzer":分词器
      },
      "域名2":{
        ...
      }
    }
  }
}

删除索引

DELETE /索引名

文档操作

注意

执行修改操作时,ES不会真的修改Document中的数据,而是标记ES中原有的文档为deleted状态,再创建一个新的文档来存储数据
执行删除操作时,ES先标记文档为deleted状态而非接物理删,当ES存储空间不足或工作空闲时才会执行物理删除操作

新增/修改文档

id值不写时自动生成文档id,id和已有id重复时修改文档

POST /索引/_doc/[id值]

{
  "field名":field值
}

修改文档部分字段

POST /索引/_doc/id值/_update

{
  "doc":{
    域名:值
  }
}            

根据id查询文档

GET /索引/_doc/id值

根据id批量查询文档

GET /索引/_mget

{
  "docs":[
    {"_id":id值},
    {"_id":id值}
  ]
}          

查询所有文档

GET /索引/_search

{
  "query": {
    "match_all": {}
  }
}        

删除文档

DELETE /索引/_doc/id值

域的属性

Index

该域是否创建索引【只有值设置为true,才能根据该域的关键词查询文档】

Type

域的类型
字符串类型  text
整数类型   long, integer, short, byte
浮点类型   double, float
日期类型   date
布尔类型   boolean
数组类型   array
对象类型   object
不分词的字符串    keyword
搜索提示功能 completion

Store

是否单独存储【如果设置为true,则该域能够单独查询】

// 单独查询某个域:
GET /索引名/_search
{
  "stored_fields": ["域名"]
}            

Guess you like

Origin blog.csdn.net/m0_63040701/article/details/131757256