在 Elasticsearch 查询中使用 distinct 和 where 子句
Use distinct and where clause in Elasticsearch Query
我想从 Elasticsearch
中获取结果作为 Sql 查询
select distinct(id) from table where E_id in (5,6) and P_id=54
我设法构建代码块以在 elasticsearch 中使用聚合来获取不同的值,如下所示
GET /Index/Type/_search?search_type=count
{
"aggs": {
"my_fields": {
"terms": {
"field": "ID",
"size": 0
}
}
}
}
我还有另一个代码块,它执行 SQL
查询
的 where
子句作业
GET /index/type/_search
{
"query": {
"bool": {
"must": [
{
"terms": {
"ID": [ "5","6" ]
}
},
{
"terms": {
"ProjectID": [ "54"]
}
}
]
}
}
}
如何整合这两个块并在 elasticsearch 中使用 where
子句获得不同的结果。
你们很亲近。只需结合 query
和 aggregation
.
{
"query": {
"bool": {
"must": [
{
"terms": {
"ID": [
"5",
"6"
]
}
},
{
"terms": {
"ProjectID": [
"54"
]
}
}
]
}
},
"aggs": {
"my_fields": {
"terms": {
"field": "ID",
"size": 0
},
"aggs":{
"top_hits_log" :{
"top_hits" :{
"size" :1
}
}
}
}
}
}
关于top_hits
的研究here
我想从 Elasticsearch
中获取结果作为 Sql 查询
select distinct(id) from table where E_id in (5,6) and P_id=54
我设法构建代码块以在 elasticsearch 中使用聚合来获取不同的值,如下所示
GET /Index/Type/_search?search_type=count
{
"aggs": {
"my_fields": {
"terms": {
"field": "ID",
"size": 0
}
}
}
}
我还有另一个代码块,它执行 SQL
查询
where
子句作业
GET /index/type/_search
{
"query": {
"bool": {
"must": [
{
"terms": {
"ID": [ "5","6" ]
}
},
{
"terms": {
"ProjectID": [ "54"]
}
}
]
}
}
}
如何整合这两个块并在 elasticsearch 中使用 where
子句获得不同的结果。
你们很亲近。只需结合 query
和 aggregation
.
{
"query": {
"bool": {
"must": [
{
"terms": {
"ID": [
"5",
"6"
]
}
},
{
"terms": {
"ProjectID": [
"54"
]
}
}
]
}
},
"aggs": {
"my_fields": {
"terms": {
"field": "ID",
"size": 0
},
"aggs":{
"top_hits_log" :{
"top_hits" :{
"size" :1
}
}
}
}
}
}
关于top_hits
的研究here