-
这里就不详细介绍ES(ElasticSearch的简称)的安装及原理,只简单谈谈ES数据的增删改查命令,方便初学者学习与交流。
-
测试实体CaseBean结构如下:
package com.yang.demo.domain;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import java.util.List;
/**
* @author yangjy
* @date 2021/06/03
*/
@Data
@Document(indexName = "case")
public class CaseBean {
@Id
private String caseId;
private String name;
private List<CaseBean.Chapter> chapterList;
@Data
public static class Chapter{
private String chapterId;
private String chapterName;
}
}
- 查询
1、查询全部
GET /case/_search
{
"query": {
"match_all": {}
}
}
2、根据ID查询
模糊匹配:
GET /case/_search
{
"query": {
"match": {
"caseId":"7431e39124a64402b9958714d6d392ea"
}
}
}
精确匹配:
GET /case/_search
{
"query": {
"term": {
"caseId": "7431e39124a64402b9958714d6d392ea"
}
}
}
- 更新
修改name的值
POST case/_update/7431e39124a64402b9958714d6d392ea
{
"script": "ctx._source.name='大数据'"
}
修改chapterName的值
POST case/_update/7431e39124a64402b9958714d6d392ea
{
"script": "ctx._source.chapterList[0].chapterName='大数据第一章'"
}
全量更新
POST case/_doc/7431e39124a64402b9958714d6d392ea
{
全量实体的值
}
- 删除
DELETE case/_doc/7431e39124a64402b9958714d6d392ea
批量删除
POST /case/_delete_by_query?pretty
{
"query": {
"match_all": {
}
}
}