ElasticSearch计数查询

时间:2017-12-21 08:03:56

标签: elasticsearch

我在ES群集中​​有以下JSON数据,

"subjectData": {
   "caseA": [
      "na",
      "Mechanical Engineering",
      "Electrical and Electronic Engineering Technologies/Technicians, Other"
   ],
   "caseB": [
      "Mechanical Engineering",
      "Electrical Engineering Technologies/Technicians",
      "na"
   ],
   "caseC": [
      "Engineering",
      "Engineering Technologies and Engineering-related Fields",
      "Military Science, Leadership and Operational Art"
   ]
}

现在我需要查询有多少数据有NA +一些其他主题值。因此,我需要可以计算具有subjectData.fourdigit的数据集的查询:NA +一些其他值,例如,

GET mycluster/data/_count
{
  "query": {
    "filtered": {
      "filter": {
        "query": {
          "query_string": {
            "query": "subjectData.fourdigit: \"na\" AND  subjectData.fourdigit: \"values other than NA\""
          }
        }
      }
    }
  }
}

我可以使用像

这样的查询
GET mucluster/data/_count
{
  "query": {
    "filtered": {
      "filter": {
        "query": {
          "query_string": {
            "query": "subjectData.fourdigit: \"na\" AND  subjectData.fourdigit: \"Mechanical Engineering\""
          }
        }
      }
    }
  }
}

结果是,

{
   "count": 2933,
   "_shards": {
      "total": 6,
      "successful": 6,
      "failed": 0
   }
}

但是这是针对一个特定的值,subjectData.fourdigit:\“Mechanical Engineering \”,这个群集有超过1000个像这样的值。

我需要将它设置为通用的,因为我有数百万个数据,所有这些数据都有不同的subjectData.fourdigit值(计数为1000)。

任何帮助/建议/想法都非常有用。

0 个答案:

没有答案