zoukankan      html  css  js  c++  java
  • Elasticsearch 搜索多个index和多个type下的数据

    /_search:所有索引,所有type下的所有数据都搜索出来

    GET /_search
    {
      "query": {
        "bool": {
          "filter": {
            "term": {
              "tradingDay": "20200520"
            }
          }
        }
      }
    }

    /index1/_search:指定一个index,搜索其下所有type的数据

    GET /stk_his_2020/_search
    {
      "query": {
        "bool": {
          "filter": {
            "term": {
              "tradingDay": "20200520"
            }
          }
        }
      },"_source": false
    }

    _source 关键字类似与mysql中的select fileds,只查询需要的字段,此处使用 "_source": false 避免了搜索无用信息,大大的加快了搜索速度。

    /index1,index2/_search:同时搜索两个index下的数据

    GET /stk_his_2019,stk_his_2020/_search
    {
      "query": {
        "bool": {
          "must": [
            {
              "range": {
                "tradingDay": {
                  "gte": "20190125",
                  "lte": "20200525"
                }
              }
            }
          ], 
          "filter": {
            "term": {
              "stkId": "601162.SH"
            }
          }
        }
      }, 
      "_source": false, 
      "aggs": {
        "total": {
          "stats": {
            "field": "hqVo.qTDailyFlow.sellValueBig"
          }
        }
      }
    }

    此处的使用场景为:计算区间内的流出额,但是我们在存储数据时,2019年和2020年处在不同的标签,那么我们使用多标签搜索+range定位时间+aggs.stats即可算出区间内的数据。

    /*1,*2/_search:按照通配符去匹配多个索引

    GET /stk_his_*/_search
    {
      "query": {
        "bool": {
          "must": [
            {
              "range": {
                "tradingDay": {
                  "gte": "20190617",
                  "lte": "20200617"
                }
              }
            }
          ], 
          "filter": {
            "term": {
              "stkId": "000001.SZ"
            }
          }
        }
      }
    }

    这里用*代表了全部年份,应用场景和上面那个问题是一样的,但是index更多,会慢一些。

    /index1/type1/_search:搜索一个index下指定的type的数据

    GET /stk_his_2019/hits/_search
    {
      "query": {
        "bool": {
          "must": [
            {
              "range": {
                "tradingDay": {
                  "gte": "20190617",
                  "lte": "20200617"
                }
              }
            }
          ], 
          "filter": {
            "term": {
              "stkId": "000001.SZ"
            }
          }
        }
      },"_source": false
    }

    /index1/type1,type2/_search:可以搜索一个index下多个type的数据

    GET /stk_his_2019/hits,_shards/_search
    {
      "query": {
        "bool": {
          "must": [
            {
              "range": {
                "tradingDay": {
                  "gte": "20190617",
                  "lte": "20200617"
                }
              }
            }
          ], 
          "filter": {
            "term": {
              "stkId": "000001.SZ"
            }
          }
        }
      }
    }

    /index1,index2/type1,type2/_search:搜索多个index下的多个type的数据

    GET /stk_his_2019,stk_his_2020/hits,_shards/_search
    {
      "query": {
        "bool": {
          "must": [
            {
              "range": {
                "tradingDay": {
                  "gte": "20190617",
                  "lte": "20200617"
                }
              }
            }
          ], 
          "filter": {
            "term": {
              "stkId": "000001.SZ"
            }
          }
        }
      }
    }

    /_all/type1,type2/_search:_all,可以代表搜索所有index下的指定type的数据

    GET /_all/hits,_shards/_search
    {
      "query": {
        "bool": {
          "must": [
            {
              "range": {
                "tradingDay": {
                  "gte": "20190617",
                  "lte": "20200617"
                }
              }
            }
          ], 
          "filter": {
            "term": {
              "stkId": "000001.SZ"
            }
          }
        }
      }
    }

  • 相关阅读:
    AtCoder Beginner Contest 218 A~F 题解
    【学习笔记】光速幂
    【Nowcoder 1103A】复读数组
    【Nowcoder 1105A】集合统计
    初赛知识宝典
    KMP算法 next数组模板
    C#链接Windows远程桌面
    帝国cms 修改 上一篇 下一篇样式
    Appweb漏洞复现
    Apereo-cas漏洞复现
  • 原文地址:https://www.cnblogs.com/koenigsea/p/13072923.html
Copyright © 2011-2022 走看看