forked from onebirdrocks/geektime-ELK
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request onebirdrocks#5 from onebirdrocks/master
更新
- Loading branch information
Showing
16 changed files
with
887 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,229 @@ | ||
# 对象及Nested对象 | ||
## 课程demos | ||
``` | ||
DELETE blog | ||
# 设置blog的 Mapping | ||
PUT /blog | ||
{ | ||
"mappings": { | ||
"properties": { | ||
"content": { | ||
"type": "text" | ||
}, | ||
"time": { | ||
"type": "date" | ||
}, | ||
"user": { | ||
"properties": { | ||
"city": { | ||
"type": "text" | ||
}, | ||
"userid": { | ||
"type": "long" | ||
}, | ||
"username": { | ||
"type": "keyword" | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} | ||
# 插入一条 Blog 信息 | ||
PUT blog/_doc/1 | ||
{ | ||
"content":"I like Elasticsearch", | ||
"time":"2019-01-01T00:00:00", | ||
"user":{ | ||
"userid":1, | ||
"username":"Jack", | ||
"city":"Shanghai" | ||
} | ||
} | ||
# 查询 Blog 信息 | ||
POST blog/_search | ||
{ | ||
"query": { | ||
"bool": { | ||
"must": [ | ||
{"match": {"content": "Elasticsearch"}}, | ||
{"match": {"user.username": "Jack"}} | ||
] | ||
} | ||
} | ||
} | ||
DELETE my_movies | ||
# 电影的Mapping信息 | ||
PUT my_movies | ||
{ | ||
"mappings" : { | ||
"properties" : { | ||
"actors" : { | ||
"properties" : { | ||
"first_name" : { | ||
"type" : "keyword" | ||
}, | ||
"last_name" : { | ||
"type" : "keyword" | ||
} | ||
} | ||
}, | ||
"title" : { | ||
"type" : "text", | ||
"fields" : { | ||
"keyword" : { | ||
"type" : "keyword", | ||
"ignore_above" : 256 | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} | ||
# 写入一条电影信息 | ||
POST my_movies/_doc/1 | ||
{ | ||
"title":"Speed", | ||
"actors":[ | ||
{ | ||
"first_name":"Keanu", | ||
"last_name":"Reeves" | ||
}, | ||
{ | ||
"first_name":"Dennis", | ||
"last_name":"Hopper" | ||
} | ||
] | ||
} | ||
# 查询电影信息 | ||
POST my_movies/_search | ||
{ | ||
"query": { | ||
"bool": { | ||
"must": [ | ||
{"match": {"actors.first_name": "Keanu"}}, | ||
{"match": {"actors.last_name": "Hopper"}} | ||
] | ||
} | ||
} | ||
} | ||
DELETE my_movies | ||
# 创建 Nested 对象 Mapping | ||
PUT my_movies | ||
{ | ||
"mappings" : { | ||
"properties" : { | ||
"actors" : { | ||
"type": "nested", | ||
"properties" : { | ||
"first_name" : {"type" : "keyword"}, | ||
"last_name" : {"type" : "keyword"} | ||
}}, | ||
"title" : { | ||
"type" : "text", | ||
"fields" : {"keyword":{"type":"keyword","ignore_above":256}} | ||
} | ||
} | ||
} | ||
} | ||
POST my_movies/_doc/1 | ||
{ | ||
"title":"Speed", | ||
"actors":[ | ||
{ | ||
"first_name":"Keanu", | ||
"last_name":"Reeves" | ||
}, | ||
{ | ||
"first_name":"Dennis", | ||
"last_name":"Hopper" | ||
} | ||
] | ||
} | ||
# Nested 查询 | ||
POST my_movies/_search | ||
{ | ||
"query": { | ||
"bool": { | ||
"must": [ | ||
{"match": {"title": "Speed"}}, | ||
{ | ||
"nested": { | ||
"path": "actors", | ||
"query": { | ||
"bool": { | ||
"must": [ | ||
{"match": { | ||
"actors.first_name": "Keanu" | ||
}}, | ||
{"match": { | ||
"actors.last_name": "Hopper" | ||
}} | ||
] | ||
} | ||
} | ||
} | ||
} | ||
] | ||
} | ||
} | ||
} | ||
# Nested Aggregation | ||
POST my_movies/_search | ||
{ | ||
"size": 0, | ||
"aggs": { | ||
"actors": { | ||
"nested": { | ||
"path": "actors" | ||
}, | ||
"aggs": { | ||
"actor_name": { | ||
"terms": { | ||
"field": "actors.first_name", | ||
"size": 10 | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} | ||
# 普通 aggregation不工作 | ||
POST my_movies/_search | ||
{ | ||
"size": 0, | ||
"aggs": { | ||
"NAME": { | ||
"terms": { | ||
"field": "actors.first_name", | ||
"size": 10 | ||
} | ||
} | ||
} | ||
} | ||
``` |
Oops, something went wrong.