Elasticsearch 常见查询

1、查询所有
{
    "query": {
        "match_all": {}
    }
}

2、count查询
{
    "query": {
        "match_all": {}
    },
    "aggs": {
        "agg_start_count": {
          "value_count": {
            "field": "start_time"
          }
        }
    }
}

3、按颜色分组查询统计(按颜色分组,agg_color为自定义名称)
{
  "size": 0,
  "aggs": {
    "agg_color": {
      "terms": {
        "field": "color"
      }
    }
  }
}

4、按颜色分组并且统计每种颜色的平均价格
{
  "size": 0,
  "aggs": {
    "agg_color": {
      "terms": {
        "field": "color"
      },
      "aggs": {
        "avg_price": {
          "avg": {
            "field": "price"
          }
        }
      }
    }
  }
}

5、按颜色分组并且统计没用颜色的平均价格、制造厂商
{
  "size": 0,
  "aggs": {
    "agg_color": {
      "terms": {
        "field": "color"
      },
      "aggs": {
        "avg_price": {
          "avg": {
            "field": "price"
          }
        },
        "make": {
          "terms": {
            "field": "make"
          }
        }
      }
    }
  }
}

5、按颜色分组并且统计没用颜色的平均价格、制造厂商,每个制造厂商的最高价格和最低价格{
  "size": 0,
  "aggs": {
    "agg_color": {
      "terms": {
        "field": "color"
      },
      "aggs": {
        "avg_price": {
          "avg": {
            "field": "price"
          }
        },
        "make": {
          "terms": {
            "field": "make"
          },
          "aggs": {
            "agg_min": {
              "min": {
                "field": "price"
              }
            },
            "agg_max": {
              "max": {
                "field": "price"
              }
            }
          }
        }
      }
    }
  }
}

6、同时按季度、按每个汽车品牌计算销售总额和按季度全部品牌的汇总销售金额。
{
  "size": 0,
  "aggs": {
    "agg_month": {
      "date_histogram": {
        "field": "sold",
        "interval": "quarter",
        "format": "yyyy-MM-dd"
      },
      "aggs": {
        "agg_make": {
          "terms": {
            "field": "make"
          },
          "aggs": {
            "agg_sum": {
              "sum": {
                "field": "price"
              }
            }
          }
        },
        "total_sum": {
          "sum": {
            "field": "price"
          }
        }
      }
    }
  }
}

7、福特在售车有多少种颜色
{
  "size": 0,
  "query": {
    "match": {
      "make": "ford"
    }
  },
  "aggs": {
    "agg_color": {
      "terms": {
        "field": "color"
      }
    }
  }
}

8、福特汽车与 所有 汽车平均售价的比较
{
  "size": 0,
  "query": {
    "match": {
      "make": "ford"
    }
  },
  "aggs": {
    "agg_price": {
      "avg": {
        "field": "price"
      }
    },
    "agg_all": {
      "global": {},
      "aggs": {
        "agg_all_price": {
          "avg": {
            "field": "price"
          }
        }
      }
    }
  }
}

9、售价在 $10,000 美元之上的所有汽车同时也为这些车计算平均售价
{
  "size": 0,
  "query": {
    "constant_score": {
      "filter": {
        "range": {
          "price": {
            "gte": 10000
          }
        }
      }
    }
  },
  "aggs": {
    "agg_avg_price": {
      "avg": {
        "field": "price"
      }
    }
  }
}

10、查询ford制造厂商、同时也想在页面上提供更丰富的信息,包括(与搜索匹配的)上个月度汽车的平均售价。
{
  "size": 0,
  "query": {
    "match": {
      "make": "ford"
    }
  },
  "aggs": {
    "recent_sales": {
      "filter": {
        "range": {
          "sold": {
            "from": "now-1M"
          }
        }
      },
      "aggs": {
        "average_price": {
          "avg": {
            "field": "price"
          }
        }
      }
    }
  }
}

11、按照汽车颜色创建一个销售条状图表,但按照汽车平均售价的升序进行排序
{
  "size": 0,
  "aggs": {
    "agg_color": {
      "terms": {
        "field": "color",
        "order": {
          "agg_avg_price": "asc"
        }
      },
      "aggs": {
        "agg_avg_price": {
          "avg": {
            "field": "price"
          }
        }
      }
    }
  }
}

12、每月有多少颜色的车被售出:
{
  "size": 0,
  "aggs": {
    "agg_histogram": {
      "date_histogram": {
        "field": "sold",
        "interval": "month",
        "format": "yyyy-MM-dd"
      },
      "aggs": {
        "agg_cardinality_color": {
          "cardinality": {
            "field": "color"
          }
        }
      }
    }
  }
}

13、嵌套查询
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "title": "eggs" 
          }
        },
        {
          "nested": {
            "path": "comments", 
            "query": {
              "bool": {
                "must": [ 
                  {
                    "match": {
                      "comments.name": "john"
                    }
                  },
                  {
                    "match": {
                      "comments.age": 28
                    }
                  }
                ]
              }
            }
          }
        }
      ]
}}}

猜你喜欢

转载自blog.csdn.net/oJueQiang123456/article/details/85883765
今日推荐