ElasticSearch 常用DSL查询

3,174 阅读1分钟

Content

es中的查询有两种:一种是简易版的查询,一种是使用JSON完整的请求体,叫做结构化查询(DSL)。

常用查询

1.查询当前用户下的所有索引

GET /_cat/indices

2. 查询索引结构

GET /index/_mapping?pretty

3. 查询索引所有

GET /index
GET /index/_search?
GET /index/type/_search

4. 指定id查询

GET /index/_search/{id}

5. 查分词结果

POST index/_analyze?pretty=true
{
  "analyzer": "ik_smart",
  "text": "王者荣耀"
}

创建

1. 创建索引

PUT /index

2.创建文档

PUT /empinfo/people/1
{
  "name": "小萌",
  "sex": 0,
  "address": "河南省焦作市",
  "car":"奥迪A4" 
}

3. 创建文档映射,指定分词器

索引的映射类型:

静态映射:在写入文档前,事前定义好文档字段类型

动态映射:在es中不需要要实现定义映射,默认当文档写入时,会根据文档字段自动识别类型

POST /index/_mapping/type
{
  "user":{
    "properties":{
       "age":{
         "type":"integer"
       },
        "sex":{
         "type":"integer"
       },
       "name":{
         "type":"text",
         "analyzer":"ik_smart"
       },
       "car":{
         "type":"keyword"
      
       }
    }
  }
 }

在索引创建后,直接建映射是会报错的,应该先删再创建。

删除

DELETE /yangindex

持续更新。。。