如何编写ElasticSearch查询以查找列中的唯一元素?

时间:2017-08-09 01:53:15

标签: sql elasticsearch

例如,如果我有一个SQL查询:

{
  "aggs": {
    "Employee": {
      "terms": {
        "field":["emp_id", "salary" ]
        "size": 1000
      }
    }
  }
}

它的ElasticSearch等价物是什么?

这是我到目前为止所提出的:

Stack<Character> var = new Stack<Character>();

... add elements to stack...

for(ListIterator<Character> i = var.listIterator(); i.hasNext();){
    if(i.next() == '*'){
        i.remove();
        i.previous();
        i.remove();
    }
}

2 个答案:

答案 0 :(得分:0)

要从我们的对话中回答,您将使用curl发出以下http命令。

curl -XGET localhost:9200/<your index>/<type>/_search?pretty

答案 1 :(得分:0)

不是发送字段列表来执行不同,而是将它们作为单独的聚合发送。

{
  "aggs": {
    "Employee": {
      "terms": {
        "field": "emp_id",
        "size": 10
      }
    },
    "Salary":{
      "terms": {
        "field": "salary",
        "size": 10
      }
    }
  },
  "size": 0
}