Elasticsearch基本操作

索引基本操作


##查询所有索引基本信息
GET _cat/indices?v

##查询某个索引全部信息
GET /index1/_doc/_search

#查询某个索引基本信息
GET /index1

#创建索引
PUT /index1

#插入文档到索引
PUT /index1/_doc/1
{
  "name":"aaa"
}

#查询某个索引单个文档
GET /index1/_doc/1

#修改索引中文档
POST /index1/_doc/1
{
  "doc":{
    "name":"test21 aaa"
  }
}

文档基本操作


#插入一个文档(如果存在,那么进行修改,但是没给值的会被覆盖,不推荐使用)
PUT /index2/_doc/1
{
  "name":"张飞",
  "age":36,
  "hobby":["喝酒","打麻将"]
}

PUT /index2/_doc/1
{
  "name":"刘备2"
}

#修改文档(没给值字段不会覆盖,推荐使用)
POST /index2/_doc/1/_update
{
   "doc":{
    "name":"刘备2"
   }
}

#查询某个文档
GET /index2/_doc/1

#条件查询-无条件全查
GET /index2/_doc/_search

#条件查询-根据某个字段查询
GET /index2/_doc/_search?q=name:"张飞"

#条件查询-根据某个字段查询-json格式
GET /index2/_doc/_search
{
  "query":{
    "match":{
      "name":"张飞"
    }
  }
}

文档复杂查询

#条件查询-根据某个字段查询-match查询分词-模糊查询
GET /index2/_doc/_search
{
  "query":{
    "match":{
      "name":"张飞"
    }
  }
}
#条件查询-根据某个字段查询-term查询不分词-精确查询
GET /index2/_doc/_search
{
  "query":{
    "term":{
      "name":"张飞1"
    }
  }
}
#条件查询-多条件and
GET /index2/_doc/_search-全都要匹配
{
  "query":{
    "bool":{
      "must":[
        {
          "match":{
            "name":"张飞"
          }
        },
        {
          "match":{
            "age":37
          }
        }
      ]
    }
  }
}

#条件查询-多条件and的非操作-一个都不能匹配-相当于not in,只不过是多字段的
GET /index2/_doc/_search
{
  "query":{
    "bool":{
      "must_not":[
        {
          "match":{
            "name":"张飞"
          }
        },
        {
          "match":{
            "age":37
          }
        }
      ]
    }
  }
}

#条件查询-多条件or
GET /index2/_doc/_search
{
  "query":{
    "bool":{
      "should":[
        {
          "match":{
            "name":"张飞"
          }
        },
        {
          "match":{
            "age":37
          }
        }
      ]
    }
  }
}
#条件查询-范围查询
GET /index2/_doc/_search
{
  "query":{
    "bool":{
      "must":[
        {
          "match":{
            "name":"张飞"
          }
        }
      ],
      "filter":{
        "range":{
          "age":{
            "gt":10,
             "lte":37
          }
        }
      }
    }
  }
}
#过滤字段
GET /index2/_doc/_search
{
  "query":{
    "match":{
      "name":"张飞"
    }
  },
   "_source":["name","age"]
}
#排序(asc desc)
GET /index2/_doc/_search
{

   "sort":{
     "age":{
       "order":"asc"
     }
   }
}
#分页
GET /index2/_doc/_search
{

   "sort":{
     "age":{
       "order":"desc"
     }
   },
   "from":0,
   "size":2
}

文档高亮查询

#高亮查询
GET /index2/_doc/_search
{
  "query":{
    "match":{
      "name":"张飞"
    }
  },
  "highlight":{
    "fields":{
      "name":{}
    }
  }
}

#高亮查询-自定义高亮样式
GET /index2/_doc/_search
{
  "query":{
    "match":{
      "name":"张飞"
    }
  },
  "highlight":{
    "pre_tags":"<a class='' style=''>",
    "post_tags":"</a>",
    "fields":{
      "name":{}
    }
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值