2017-08-09 25 views
1

举例来说,如果我有一个SQL查询:如何编写ElasticSearch查询以在列中查找唯一元素?

SELECT distinct emp_id, salary FROM TABLE_EMPLOYEE 

这将是其ElasticSearch相同呢?

这是我想出了到现在为止:

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

如何索引所有内容?如果你说你想要独特的'emp_id'和'salary',那么为什么不直接查询呢?就我所知,它不应该非规范化。 –

+0

我如何直接查询它们? – TalKSicK333

回答

0

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

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

从我们的谈话回答您将使用curl发出以下HTTP命令。

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