阅读es文档

This commit is contained in:
asahi
2024-10-17 21:04:25 +08:00
parent 3517559617
commit 73eab827a9

View File

@@ -105,6 +105,72 @@ query DSL支持如下查询
- 向量查询 - 向量查询
- 地理位置查询 - 地理位置查询
##### Query DSL分析
如果要通过Query DSL对elastic search数据进行分析那么Aggregations是主要的工具。
Aggregations允许根据数据构建复杂的数据摘要并获取指标、模式和趋势。
aggregations利用了和查询相同的数据结构故而聚合的速度十分快可以实时的对数据进行分析和可视化。
在使用ES时可以在同一时刻对相同的数据同时进行文档查询、结果过滤、数据分析操作聚合是在查询请求的上下文中进行计算的。
ES支持如下类型的Aggregations
- Metric计算metrics例如field的总和或平均
- Bucket基于field value、范围或其他指标对文档进行分组
- Pipeline在其他聚合操作结果集的基础上执行聚合操作
##### ES | QL
Elasticsearch Query Language是一个piped query language用于对数据进行过滤、transforming、分析。ES|QL基于新的计算引擎查询、聚合、transformation方法是直接在Elasticsearch中执行的。在Kibana工具中可以使用ES|QL语法。
ES|QL支持Query DSL中的部分特性例如聚合、过滤、transformation
## 使用ElasticSearch Api索引和查询数据
### 创建索引
可以通过如下方式来创建一个名为`books`的索引:
```
PUT /books
```
返回相应结构如下,代表索引创建成功:
```json
{
"acknowledged": true,
"shards_acknowledged": true,
"index": "books"
}
```
### 向索引中添加数据
可以向ElasticSearch中添加json形式的数据json格式数据被称为document。ElasticSearch将添加的数据保存到可搜索的索引中。
#### 向索引中添加单个document
```
POST books/_doc
{
"name": "Snow Crash",
"author": "Neal Stephenson",
"release_date": "1992-06-01",
"page_count": 470
}
```
该请求的返回体中包含ElasticSearch为该document生成的元数据包含索引范围内唯一的`_id`在索引范围内唯一标识该document。
```json
{
"_index": "books",
"_id": "O0lG2IsBaSa7VYx_rEia",
"_version": 1,
"result": "created",
"_shards": {
"total": 2,
"successful": 2,
"failed": 0
},
"_seq_no": 0,
"_primary_term": 1
}
```