PHP通过API搜索elasticsearch只获得10条数据
admin
2023-06-19 03:00:51
0

PHP通过API对ES进行搜索后发现只能获取10条数据,搜索语句如下:

{
  "query": {
    "filtered": {
      "query": {
        "query_string": {
          "query": "level:\"警告\" AND source_name:\"ASP.NET\" ",
          "analyze_wildcard": true
        }
      },
      "filter": {
        "bool": {
          "must": [
            {
              "range": {
                "@timestamp": {
                  "gte": 1494309300,
                  "lte": 1494489299,
                  "format": "epoch_second"
                }
              }
            }
          ],
          "must_not": []
        }
      }
    }
}
}

其余ES如果没有指定SIZE的话,默认是10条

http://elasticsearch-py.readthedocs.io/en/master/api.html#elasticsearch.Elasticsearch.search

但是size也不能超过10000,否则也会报错。


修改搜索语句如下:

{
  "size": 10000,
  "query": {
    "filtered": {
      "query": {
        "query_string": {
          "query": "level:\"警告\" AND source_name:\"ASP.NET\" ",
          "analyze_wildcard": true
        }
      },
      "filter": {
        "bool": {
          "must": [
            {
              "range": {
                "@timestamp": {
                  "gte": 1494309300,
                  "lte": 1494489299,
                  "format": "epoch_second"
                }
              }
            }
          ],
          "must_not": []
        }
      }
    }
}
}

即可


经过以上还会出现问题,就是当数据超过一定量的时候,无法获取最新数据,原因是每次获取数据都是从1到10000条,当10000条之后的数据就无法显示了。基于此我们不建议时间跨度超过10000条数据,防止数据丢失。因此我们需要对其进行时间排序,让最新的数据靠前:

{
  "size": 10000,
  "sort": [
    {
      "@timestamp": {
        "order": "desc",
        "unmapped_type": "boolean"
      }
    }
  ],
  "query": {
    "filtered": {
      "query": {
        "query_string": {
          "query": "level:\"警告\" AND source_name:\"ASP.NET\" ",
          "analyze_wildcard": true
        }
      },
      "filter": {
        "bool": {
          "must": [
            {
              "range": {
                "@timestamp": {
                  "gte": 1494309300,
                  "lte": 1494489299,
                  "format": "epoch_second"
                }
              }
            }
          ],
          "must_not": []
        }
      }
    }
}
}


相关内容

热门资讯

日本情报体系加速重构,《反间谍... 澎湃新闻记者 陈沁涵日本国会参议院全体会议5月27日表决通过“国家情报会议”设立法案。这被视为日本首...
教育部:这类学历不予认证 不出... 教育部:这类学历不予认证  【教育部:这类学历不予认证】“不出国就能拿国外文凭,国家还认证”,这种话...
“同享老婆梅”“同享情人梅”包... 近日,四川一女子看到网上销售的“同享老婆梅”零食外包装上刻有“同享老婆梅”“同享情人梅”等字样,认为...
郑州商超江湖加速迭代焕新!5月... 当四季轮回由冬到夏,当路边法桐从枝丫光秃到绿意盎然,郑州市东风路与丰乐路交叉口东南角,那个曾经对市民...
无人机挂横幅向政府讨债,别把企... 评论员 李一木据上游新闻报道,近日,一段内容为“无人机挂横幅向山东济南市商河县农业农村局讨债”的视频...
伊朗革命卫队官员:伊美战争重启... 据伊朗方面27日消息,伊朗伊斯兰革命卫队海军官员穆罕默德·阿克巴尔扎德表示,与美国重新发生战争的可能...
母亲虐待并强迫女儿拍隐私部位出... 近日,最高法发布了六起防范和惩治家庭内部侵害未成年人合法权益典型案例。其中一起案例中,当妈的田某某长...
多点发力精准辟谣 郑州全方位筑... 5月26日,“每一件举报,都是共治的力量”2026年度网络举报系列宣传活动(河南站)在郑州启动。顶端...
我国冷原子干涉重力测量取得突破... 记者今天(5月27日)了解到,“十四五”期间,市场监管总局组织国内优势技术团队,开展冷原子干涉重力仪...
林志玲辞去职务 国台办:明智决...  林志玲辞去职务 国台办:明智决定  【林志玲辞去职务 国台办:明智决定】5月27日,国台办回应林志...