elasticsearch 查询多个索引但限制单个索引的结果-Elasticsearch 6.x,elasticsearch,kibana,elasticsearch,Kibana" /> elasticsearch 查询多个索引但限制单个索引的结果-Elasticsearch 6.x,elasticsearch,kibana,elasticsearch,Kibana" />

elasticsearch 查询多个索引但限制单个索引的结果-Elasticsearch 6.x

elasticsearch 查询多个索引但限制单个索引的结果-Elasticsearch 6.x,elasticsearch,kibana,elasticsearch,Kibana,总之,我使用的是ES 6.7,尝试从单个索引返回结果,同时查询两个索引(客户,付款),并对用户客户索引执行术语查找。我想要从(客户)中获取数据的索引比第二个索引的字段多。但出于某种原因,我只看到了支付指数的结果。客户名称,客户编号,状态,地址字段仅存在于客户索引中。但我只希望拥有totalCredits>0(这只存在于付款索引上)的客户按排序数组中的逻辑排序。我尝试添加一个\u索引过滤器(将其设置为customer),但没有任何帮助。添加源筛选也没有帮助。这在ES 6.7中是否可行?。我是否可以

总之,我使用的是ES 6.7,尝试从单个索引返回结果,同时查询两个索引(客户,付款),并对用户客户索引执行术语查找。我想要从(客户)中获取数据的索引比第二个索引的字段多。但出于某种原因,我只看到了支付指数的结果。客户名称客户编号状态地址字段仅存在于客户索引中。但我只希望拥有totalCredits>0(这只存在于付款索引上)的客户按排序数组中的逻辑排序。我尝试添加一个\u索引过滤器(将其设置为customer),但没有任何帮助。添加源筛选也没有帮助。这在ES 6.7中是否可行?。我是否可以选择将排序数组中的字段添加到付款索引中,还是有其他选项

ES查询

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,我的错。编辑查询时,我不会重复检查。这是正确的格式。这是我遇到的问题。