具有SUM函数的ElasticSearch SQL聚合查询错误

时间:2019-09-25 19:43:48

标签: sql elasticsearch xpack

Sql查询是EL 7.3提供的非常出色的工具。但是我无法解释该错误:

当我将SUM与Match,1条件一起使用时,下面的查询效果很好

FormGroups

但是,如果我使用2个或更多条件,则下面的SUM和MATCH查询将失败:

FormArray

有人可以告诉我怎么了吗?

1 个答案:

答案 0 :(得分:0)

SQL文档没有提到MATCH上的布尔运算符。我不支持。

您可以按以下方式执行以上搜索 1.使用查询代替“匹配”进行全文搜索

"query": "SELECT SUM(FlightTimeHour) Avg_Flight_Time FROM flights where  QUERY('OriginCountry: AE OR OriginCountry: FR')"
  1. 执行关键字搜索
"query": "SELECT SUM(FlightTimeHour) Avg_Flight_Time FROM flights where OriginCountry.keyword='AE' OR OriginCountry.keyword='FR'"

编辑:以上查询为弹性搜索

GET fonds/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "multi_match": {
            "query": "bordeaux",
            "fields": [
              "IDEE",
              "SLOGAN",
              "NOM",
              "ADRESSE",
              "VILLE",
              "ACTIVITE1",
              "ACTIVITE2",
              "KEYWORDS",
              "KEYWORDS_SITE",
              "SITE_H1_H6",
              "DESCRIPTION",
              "DESCRIPTION_SITE",
              "ACTIVITE3",
              "BUSINESS_MODEL",
              "COLORS"
            ]
          }
        },
        {
          "range": {
            "FONDS_LEVEES_TOTAL": {
              "gt": 0
            }
          } 
        },
        {
          "script": {
            "script": "doc['COMPE_RESULTAT_CA_2000'].value + doc['COMPE_RESULTAT_CA_2001'].value>0"
          }
        }
      ]
    }
  },
  "aggs": {
    "SUM": {
      "sum": {
        "field": "FONDS_LEVEES_TOTAL"
      }
    }
  }
}