基礎使用
1. 啟動狀態
# 查看es是否正常啟動
curl 'http://localhost:9200/?pretty'
2. 數據總量
使用_cout獲取總數量 GET /_count
# 查看總數量
GET /_count?pretty
{
"query": {
"match_all": {}
}
}
3. 根據ID查詢
根據ID獲取,以下方式都可以取得相同的值
GET /megacorp/employee/_search?q=_id:1
GET megacorp/employee/1
4. 查詢所有的數據
GET megacorp/employee/_search
{
"query": {
"match_all": {}
}
}
GET megacorp/employee/_search
5. 分詞搜索及短語搜索
分將后面的條件進行分詞,如果是"rock climbing" 有引號,就不會進行分詞
如為match_phrase 即為短詞搜索
GET /megacorp/employee/_search?q=about:rock climbing
GET megacorp/employee/_search
{
"query": {
"match": {
"about": "rock climbing"
}
}
}
6. 搜索結果高亮顯示
GET megacorp/employee/_search
{
"query": {
"match": {
"about": "rock climbing"
}
},
"highlight": {
"fields": {
"about": {}
}
}
}
7. 聚合-分組數量
按興趣愛好的關鍵詞進行聚合展示出其數量,類似於group by
GET /megacorp/employee/_search
{
"aggs": {
"test123": {
"terms": {
"field": "interests.keyword",
"size": 10
}
}
}
}
8. 聚合-平均值
GET /megacorp/employee/_search
{
"aggs": {
"age_avg": {
"avg": {
"field": "age"
}
}
}
}
9. 聚合-多層分組並求組內平均
需要多層aggs進行聚合,下層在上層的基礎上進行處理
GET /megacorp/employee/_search
{
"aggs": {
"inters": {
"terms": {
"field": "interests.keyword",
"size": 10
},
"aggs": {
"avg_age": {
"avg": {
"field": "age"
}
}
}
}
}
}