elasticsearch 查询多个索引但限制单个索引的结果-Elasticsearch 6.x
总之,我使用的是ES 6.7,尝试从单个索引返回结果,同时查询两个索引(客户,付款),并对用户客户索引执行术语查找。我想要从(客户)中获取数据的索引比第二个索引的字段多。但出于某种原因,我只看到了支付指数的结果。客户名称,客户编号,状态,地址字段仅存在于客户索引中。但我只希望拥有totalCredits>0(这只存在于付款索引上)的客户按排序数组中的逻辑排序。我尝试添加一个\u索引过滤器(将其设置为customer),但没有任何帮助。添加源筛选也没有帮助。这在ES 6.7中是否可行?。我是否可以选择将排序数组中的字段添加到付款索引中,还是有其他选项 ES查询
elasticsearch 查询多个索引但限制单个索引的结果-Elasticsearch 6.x,
elasticsearch,kibana,
elasticsearch,Kibana,总之,我使用的是ES 6.7,尝试从单个索引返回结果,同时查询两个索引(客户,付款),并对用户客户索引执行术语查找。我想要从(客户)中获取数据的索引比第二个索引的字段多。但出于某种原因,我只看到了支付指数的结果。客户名称,客户编号,状态,地址字段仅存在于客户索引中。但我只希望拥有totalCredits>0(这只存在于付款索引上)的客户按排序数组中的逻辑排序。我尝试添加一个\u索引过滤器(将其设置为customer),但没有任何帮助。添加源筛选也没有帮助。这在ES 6.7中是否可行?。我是否可以
GET customer,payment/_search
{
"sort": [
{
"customerName": {
"order": "asc",
"unmapped_type": "keyword"
}
},
{
"customerNumber": {
"order": "asc"
}
},
{
"state": {
"order": "asc",
"unmapped_type": "keyword"
}
},
{
"address": {
"order": "asc",
"unmapped_type": "keyword"
}
}
],
"query": {
"bool": {
"filter": [
{
"bool": {
"must_not": [
{
"terms": {
"status": [
"pending"
]
}
}
]
}
}
],
"must": [
{
"terms": {
"customerNumber": {
"index": "user-customers",
"type": "_doc",
"id": "rennish@emial.com",
"path": "users"
}
}
},
{
"range": {
"totalCredits": {
"gt": 0
}
}
}
]
}
}
}
您的查询无法运行,因为它的格式不正确。
排序
部分必须位于顶层,即不在查询
中。。。看来已经出了点问题。@Val,我的错。编辑查询时,我不会重复检查。这是正确的格式。这是我遇到的问题。