ElasticSearch入门学习笔记

下载ElasticSearch

找到官网
链接: https://www.elastic.co/cn/elasticsearch/
点击下载
在这里插入图片描述
因为是个人学习使用使用Windows版本
在这里插入图片描述

运行

下载解压打开bin目录运行elasticsearch.bat
在这里插入图片描述
查看启动
在这里插入图片描述
发现有一个9200端口和9300端口,9300端口是es内部通讯端口,9200是http RESTful端口,用postman请求查看返回结果
在这里插入图片描述

创建-查询-删除索引

创建索引

创建一个shopping索引,用put请求127.0.0.1:9200/shopping
在这里插入图片描述

查询索引

get请求 127.0.0.1:9200/shopping
在这里插入图片描述

查询全部索引

get 请求 127.0.0.1:9200/_cat/indices?v
在这里插入图片描述

删除索引

delete 请求 127.0.0.1:9200/shopping
在这里插入图片描述

数据的创建和查询

创建

post 请求 127.0.0.1:9200/shopping/_doc 添加JSON数据

{
	"name":"小吴",
	"age":18
}

在这里插入图片描述

自定义id创建

post请求 127.0.0.1:9200/shopping/_doc/1001
在这里插入图片描述

根据id查询当前shopping的数据

get请求 127.0.0.1:9200/shopping/_doc/{id}
在这里插入图片描述

查询当前shopping的全部数据

gte 请求 127.0.0.1:9200/shopping/_doc/_search
在这里插入图片描述

修改数据

全量修改

PUT 请求 127.0.0.1:9200/shopping/_doc/1001
在这里插入图片描述
再次查询发现已经被修改为19了
在这里插入图片描述
POST 修改数据也可以的但是得指定id 请求 127.0.0.1:9200/shopping/_doc/1001
在这里插入图片描述
发现已经修改为20了
在这里插入图片描述

局部修改

先查询id为 1001的数据

在这里插入图片描述

post 请求 127.0.0.1:9200/shopping/_update/1001

{
	"doc":{
		"name":"小代2号"
	}
}

在这里插入图片描述
这时再来查询发现name已经发生变化了
在这里插入图片描述

删除

用DELETE 请求 127.0.0.1:9200/shopping/_doc/1001在这里插入图片描述
再来查询 发现已经没了
在这里插入图片描述

条件查询

单个匹配

get 请求 127.0.0.1:9200/shopping/_doc/_search

{
    "query" : {
        "match": {
            "name":"代"
        }
    }
}

在这里插入图片描述

全量匹配

get 请求 127.0.0.1:9200/shopping/_doc/_search

{
    "query" : {
        "match_phrase": {
            "name":"小吴"
        }
    }
}

这是就会精确匹配小吴
在这里插入图片描述

分页查询&分页&排序

get 请求 127.0.0.1:9200/shopping/_doc/_search

{
    "query" : {
        "match_phrase": {
            "name":"小吴"
        }
    },
    "from":0,
    "size":2
}

from 从哪来开始查,size每页数据
在这里插入图片描述

选择数据源

{
    "query" : {
        "match_phrase": {
            "name":"小吴"
        }
    },
    "from":0,
    "size":2,
    "_source":"name" 
}

在这里插入图片描述

排序

{
    "query" : {
        "match_phrase": {
            "name":"小吴"
        }
    },
    "from":0,
    "size":2,
    "_source":["name","age"],
    "sort":{
        "age":{
            "order":"desc"
        }
    }
}

发现最大的已经在最前面了
在这里插入图片描述

多条件查询

多个条件同时成立 (类似sql的and)

{
    "query": {
        "bool": {
            "must": [
                {
                    "match_phrase": {
                        "name": "小吴"
                    }
                },
                {
                    "match_phrase": {
                        "age": 18
                    }
                }
            ]
        }
    },
    "from": 0,
    "size": 2,
    "_source": [
        "name",
        "age"
    ],
    "sort": {
        "age": {
            "order": "desc"
        }
    }
}

查询name是小吴 并且age是18
`

多个条件或者 (类似sql的or)

{
    "query": {
        "bool": {
            "should": [
                {
                    "match_phrase": {
                        "name": "小吴"
                    }
                },
                {
                    "match_phrase": {
                        "name": "小代"
                    }
                }
            ]
        }
    },
    "from": 0,
    "size": 2,
    "_source": [
        "name",
        "age"
    ],
    "sort": {
        "age": {
            "order": "desc"
        }
    }
}

在这里插入图片描述
发现把小吴和小代的都查询出来了

范围查询

{
    "query": {
        "bool": {
            "should": [
                {
                    "match_phrase": {
                        "name": "小吴"
                    }
                },
                {
                    "match_phrase": {
                        "name": "小代"
                    }
                }
            ],
            "filter": {
                "range": {
                    "age": {
                        "gt": 20
                    }
                }
            }
        }
    },
    "from": 0,
    "size": 2,
    "_source": [
        "name",
        "age"
    ],
    "sort": {
        "age": {
            "order": "desc"
        }
    }
}

age大于20
在这里插入图片描述
查询结果
在这里插入图片描述
学习资料
https://www.bilibili.com/video/BV1hh411D7sb?p=14&share_source=copy_web

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值