# ElasticSearch語法
### 索引操作
查看集群中索引?
```
GET /_cat/indices?v
```
創建索引?
```
PUT /index?pretty
```
刪除索引
```
DELETE /index?pretty
```
### 文檔操作
新增文檔
```
PUT /index/type/id
{
"json數據"
}
```
es默認會對document每個field都建立倒排索引,讓其可以被搜索
查詢文檔
```
GET /index/type/id
```
修改文檔
```
PUT /index/type/id
{
"json數據"
}
```
更新文檔
```
POST /index/type/id/_update
{
"doc": {
"field":""
}
}
```
刪除文檔
```
DELETE /index/type/id
```
查詢所有文檔
```
GET /index/type/_search
{
"query": { "match_all": {} }
}
```
match 查詢名稱包含xxx的文檔,并按價格降序排序
```
GET /index/type/_search
{
"query" : {
"match" : {
"name" : "xxx"
}
},
"sort": [
{ "price": "desc" }
]
}
```
match_phrase 短語搜索文檔
要求輸入的搜索詞,必須在指定的字段文本中,完全包含一模一樣的,才可以作為結果返回
```
GET /index/type/_search
{
"query" : {
"match_phrase" : {
"producer" : "producer"
}
}
}
```
highlight 高亮搜索文檔,會將搜索詞高亮顯示
```
GET /index/type/_search
{
"query" : {
"match" : {
"producer" : "producer"
}
},
"highlight": {
"fields" : {
"producer" : {}
}
}
}
```
分頁查詢文檔
```
GET /index/type/_search
{
"query": { "match_all": {} },
"from": 1,
"size": 1
}
```
指定某些字段查詢文檔
```
GET /index/type/_search
{
"query": { "match_all": {} },
"_source": ["name", "price"]
}
```
filter 過濾查詢價格大于50的文檔
```
GET /index/type/_search
{
"query" : {
"bool" : {
"must" : {
"match" : {
"name" : "xxx"
}
},
"filter" : {
"range" : {
"price" : { "gt" : 50 }
}
}
}
}
}
```
分組
```
GET /index/type/_search
{
"aggs": {
"group_by_orderName": {
"terms": { "field": "orderName" }
}
}
}
```
對字符串類型聚合需要將field的fielddata屬性設置為true
```
PUT /index/_mapping/type
{
"properties": {
"orderName": {
"type": "text",
"fielddata": true
}
}
}
```
平均值,分組后計算平均值
```
GET /index/type/_search
{
"size": 0,
"aggs" : {
"group_by_orderName" : {
"terms" : { "field" : "orderName" },
"aggs" : {
"avg_price" : {
"avg" : { "field" : "price" }
}
}
}
}
}
```
- 目錄
- 前言
- ElasticSearch基礎
- 基礎概念
- 生產環境配置
- ElasticSearch插件
- ElasticSearch-head插件
- 中文分詞
- ElasticSearch安全插件x-pack
- ElasticSearch查詢
- ElasticSearch語法
- 創建索引
- 新增文檔
- 修改文檔
- 查詢文檔
- 簡單查詢
- 基礎查詢
- 聚合查詢
- 刪除文檔
- ElasticSearch高級查詢
- filter語法
- 關聯查詢
- SpringBoot集成ES的操作
- java操作ES
- Spring-data-elasticsearch操作ES
- SpringBoot性能優化
- ElasticSearch的優化
- ElasticSearch系統優化
- ElasticSearch數據的備份與恢復
- ElasticSearch性能調優
- ElasticSearch集群監控
- ElasticSearch問題匯總
- ElasticSearch問題
- ElasticSearch學習網站