目标
1.了解ES基础知识
2.了解与使用 http 与 ES交互
步骤
1.下载ES 7.17.3
2.修改config 目录下的配置文件 elasticsearch.yml,
添加一行, xpack.security.enabled: false 用于关闭鉴权(暂时不需要深究)
3.启动环境 bin目录下输入cmd 进入控制台 ,使用 elasticsearch-service.bat start 启动环境
控制输出 The service ‘elasticsearch-service-x64’ has been started 就启动成功了
访问 localhost:9200 可以查看当前ES 的信息
基本概念
index 索引,不要类比Mysql的索引, 在ES中是指相同类型的文档的集合
type 类型 7.X版本正在逐渐舍弃这个概念,忽略
document 文档 用来搜索的数据
field 字段 类似与数据库的列, 多个field 组成文档(就是具体JSON对象的属性)
类比Mysql的话, 一个文档就像数据库里的一条数据,字段就像数据库里的列,因此,我们可以把索引当做是数据库中的表。
Http与ES 交互
操作索引;
创建索引库:PUT /索引库名
查询索引库:GET /索引库名
删除索引库:DELETE /索引库名
修改索引库(添加字段):PUT /索引库名/_mapping
PUT /索引库名称
或者
PUT /索引库名/_mapping
可以携带如下参数, 用于初始添加索引的数据映射关系, 更改映射关系
```json
{
"mappings": {
"properties": {
"字段名":{
"type": "text", //类型
"analyzer": "ik_smart" //分词器
},
"字段名2":{
"type": "keyword",
"index": "false"
},
"字段名3":{
"properties": {
"子字段": {
"type": "keyword"
}
}
}
}
}
}
操作文档
查询:
- 根据id查询
GET http://localhost:9200/索引/_doc/id - 匹配查询
单属性匹配查询
GET http://localhost:9200/索引/_search
Content-Type: application/json
{
"query": {
"match": {"属性": "属性值"}
}
}
最左匹配查询
GET http://localhost:9200/索引/_search
Content-Type: application/json
{
"query": {
"match_phrase_prefix": {"title": "title"}
}
}
带分页参数查询
GET http://localhost:9200/索引/_search
Content-Type: application/json
{
"from": 0,
"size": 2,
"query": {
"match_phrase_prefix": {"title": "title"}
}
}
排序, 排序的字段类型需要时keyword, 一种用于精确匹配的字段类型
GET http://localhost:9200/索引_search
Content-Type: application/json
{
"from": 0,
"size": 10,
"query": {
"match_phrase_prefix": {
"title": "title"
}
},
"sort": [
{
"category": {
"order": "desc"
}
}
]
}
范围查询
GET http://localhost:9200/索引/_search
Content-Type: application/json
{
"from": 0,
"size": 2,
"query": {
"range": {
"category": {"gte": "category4","lt": "category5"}
}
}
}
使用term精准匹配查询, text如果没有设置分词器使用match,也会与term一样的效果
GET http://localhost:9200/blog/_search
Content-Type: application/json
{
"from": 0,
"size": 2,
"query": {
"term": {
"category": "category4"
}
}
}
多条件查询
GET http://localhost:9200/blog/_search
Content-Type: application/json
{
"query": {
"bool": {
"must": [
{
"match": {
"name": "wanggfei"
}
},
{
"match": {
"age": 25
}
}
]
}
}
}
查询所有
GET http://localhost:9200/索引/_search
3.新增数据
一般生产环境的新增数据使用CDC 数据同步技术, 不是实时调用接口与ES 进行交互,忽略
8858

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



