【问题标题】:Elastic search coordinating-node role - complex aggregations弹性搜索协调节点角色 - 复杂聚合
【发布时间】:2020-03-31 18:54:10
【问题描述】:

我理解坐标节点广播搜索请求并使用“查询然后获取阶段”收集从数据节点接收到的结果。

它是在“查询然后获取阶段”的一次迭代中执行的,还是搜索请求可以有多个查询然后获取阶段的迭代?

假设从Elastic Search Complex Scenario 获取一个复杂的过滤器查询(学分:Val,谢谢@Val),它会涉及查询的多次迭代然后获取阶段吗?协调节点回答这个查询的步骤是什么

{
  "query": {
    "filtered": {
      "query": {
        "match": {
          "product_name": "xxx"
        }
      },
      "filter": {
        "bool": {
          "must": [
            {
              "range": {
                "price": {
                  "gte": 20,
                  "lte": 170
                }
              }
            },
            {
              "term": {
                "availability": "availability_status"
              }
            },
            {
              "term": {
                "user": 1
              }
            }
          ]
        }
      }
    }
  }
}

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    得到了一些提示。如果有人好奇,请在这里发布它

    https://discuss.elastic.co/t/elastic-search-coordinating-node-role-complex-aggregations/225622/5

    The details change as various things are optimised and evolve.
    There are a number of "it depends" e.g. the "canMatch" pre-flight phase will not run if there's insufficient numbers of shards being queried or custom search routing is used or DFS is used.
    Cross-cluster-search is another consideration.
    
    Here's probably a good place to start if you're curious.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-23
      • 1970-01-01
      • 1970-01-01
      • 2017-03-10
      • 1970-01-01
      • 2019-11-08
      • 2021-02-19
      • 2023-03-18
      相关资源
      最近更新 更多