创建索引
首先,我们打开我们的kibana工具,用来执行ES的相关命令。ES的相关命令是Restful风格的,也就是PUT、GET、POST、DELETE。可以把ES想象成数据库,其中test1对应数据库名,user想象成表名,1想象成字段,当然了,在ES他们也有自己的专业属于,分别是索引/类型/文档
创建一个索引
PUT /test1/user/1
{
"name": "爱Java的程序员",
"age": 22
}
获取值
获取整个索引下的数据
GET /test1
获取某个文档的数据
GET /test1/user/1
获取某个文档的数据的某个字段
GET /user_index/_doc/1?_source=name
只获取文档的内容不要元数据
GET /user_index/_doc/1/_source
查询指定索引的全部信息
GET /user_index/_search
查询test_index数据并按年龄降序排序
GET /test_index/_search
{
"query": {"match_all": {}},
"sort": [
{
"age": {
"order": "desc"
}
}
]
}
查询test_index数据降序并分页
GET /test_index/_search
{
"query": {"match_all": {}},
"sort": [
{
"age": {
"order": "desc"
}
}
],
"from": 0,
"size": 2
}
match分词模糊查询
GET /test_index/_search
{
"query": {
"match": {
"name": "张三"
}
}
}
范围查询
GET /test_index/_search
{
"query": {
"bool": {
"must": { "match_all": {} },
"filter": {
"range": {
"age": {
"gte": 15,
"lte": 25
}
}
}
}
}
}
term精准匹配查询
GET /test_index/_search
{
"query": {
"term": {
"age": "18"
}
}
}
查询指定前缀的文档
GET /test_index/_search
{
"query": {
"prefix": {
"name": "张"
}
}
}
支持通配符查询
GET /test_index/_search
{
"query": {
"wildcard": {
"name": "贺*"
}
}
}
match在匹配时会对所查找的关键词进行分词,然后按分词匹配查找,而term会直接对关键词进行查找。一般模糊查找使用match,而精确查找使用term
修改值
修改年龄为21
POST /test1/user/1/_update
{
"doc": {
"age": 21
}
}
删除值
删除文档1
DELETE /test1/user/1
删除索引test1
DELETE /test1