1. GET /tvs/_search
    2. {
    3. "size": 0,
    4. "query": {
    5. "term": {
    6. "brand": {
    7. "value": "长虹"
    8. }
    9. }
    10. },
    11. "aggs": {
    12. "recent_150d": {
    13. "filter": {
    14. "range": {
    15. "sold_date": {
    16. "gte": "now-150d"
    17. }
    18. }
    19. },
    20. "aggs": {
    21. "recent_150d_avg_price": {
    22. "avg": {
    23. "field": "price"
    24. }
    25. }
    26. }
    27. },
    28. "recent_140d": {
    29. "filter": {
    30. "range": {
    31. "sold_date": {
    32. "gte": "now-140d"
    33. }
    34. }
    35. },
    36. "aggs": {
    37. "recent_140d_avg_price": {
    38. "avg": {
    39. "field": "price"
    40. }
    41. }
    42. }
    43. },
    44. "recent_130d": {
    45. "filter": {
    46. "range": {
    47. "sold_date": {
    48. "gte": "now-130d"
    49. }
    50. }
    51. },
    52. "aggs": {
    53. "recent_130d_avg_price": {
    54. "avg": {
    55. "field": "price"
    56. }
    57. }
    58. }
    59. }
    60. }
    61. }

    aggs.filter,针对的是聚合去做的
    如果放query里面的filter,是全局的,会对所有的数据都有影响
    但是,如果,比如说,你要统计,长虹电视,最近1个月的平均值; 最近3个月的平均值; 最近6个月的平均值
    bucket filter:对不同的bucket下的aggs,进行filter