# 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学习网站