基础CURD
添加
如果已经存在 那么就会覆盖
//PUT 添加操作需要制定id
PUT /product/_doc/1
{
"name":"TAO"
}
//POST 添加操作可以不指定id,ES会默认生成一个唯一id
POST /product/_doc/
{
"name":"TAO"
}
//POST 添加操作可以指定id
POST /product/_doc/2
{
"name": "TAO2"
}
POST 添加操作可以不指定id

POST 添加操作可以指定id

删除
语法:DELETE /索引/文档/id
//7.x直接这么写会报错
DELETE /product/9
{
"error": "Incorrect HTTP method for uri [/product/9?pretty] and method [DELETE], allowed: [POST]",
"status": 405
}
//7.x正确写法,虽然添加索引值的时候,警告不要添加类型,但是其他操作还是要加上_doc
DELETE /product/_doc/9
//删除所有
DELETE /test
//复杂条件删除
POST product/_doc/_delete_by_query
{
"query":{
"match":{
"name":"TAO"
}
}
}
//删除所有
POST product/_doc/_delete_by_query
{
"query": {
"match_all": {
}
}
}
修改
//PUT 修改会将其他属性值丢失,不是建议使用这种方式
PUT /product/_doc/10
{
"brandName":"HUAWEI1"
}
//POST 修改时不会丢失其他值
POST /product/_doc/10/_update
{
"doc":{
"brandName" : "HUAWEI"
}
}
查询
//查询id为1的数据
GET /product/_doc/1
//带其他条件查询-模糊查询,并且是满足其中一个即可
GET product/_search?q=name:TAO2
GET product/_search?q=name:TAO2&q=sgin:111
//查询所有
GET /product/_search
//查询所有
POST /product/_search
//条件查询
POST /product/_search
{
"query": {
"match": {
"catalogName": "苹果12"
}
}
}
排序
//按照age倒叙
GET /test/_search
{
"sort": [
{
"age": "desc"
}
]
}
//按照age正序
GET /test/_search
{
"sort": [
{
"age": "asc"
}
]
}
查询分页
GET /test/_search
{
//开始位置的索引
"from": 0,
//查询总大小
"size": 2
}
高亮显示
默认高亮采用加粗显示
GET /test/_search
{
"query": {
"match": {
"sgin": "第一"
}
},
"highlight": {
"fields": {
"sgin":{}
},
"pre_tags": "<b style='color:red'>",
"post_tags": "</b>"
}
}
查看字段类型
GET /product
GET product/_mapping
复杂查询
返回指定字段
GET /newbank/_search
{
"_source": ["gender","age","employer"]
}
多字段匹配
GET /bank/_search
{
"query": {
"multi_match": {
"query": "mill Blackgum",
"fields": ["city","address"]
}
}
}
本文详细介绍了Elasticsearch中常见的CURD操作,包括添加、删除、修改和查询数据的方法。涵盖了PUT和POST添加操作的区别,如何指定ID或让Elasticsearch自动生成ID,以及在不同版本中正确的删除语法。此外,还深入探讨了修改操作的不同方式,以及如何进行复杂查询,如排序、分页和高亮显示等。
3570

被折叠的 条评论
为什么被折叠?



