ES查询时只能查询10000条数据解决方案

本文介绍了四种方法来解决Elasticsearch在查询时默认限制10000条数据的问题。方法包括通过设置_index.max_result_window_参数增加查询限制,创建索引时设定最大查询窗口,使用_track_total_hits_参数获取真实命中数,以及通过Kibana修改索引设置。同时,文章提醒注意大数据量查询可能导致的超时问题,并建议在查询时添加超时参数。

方法1:

在restful请求时,解除索引最大查询数的限制

put _all/_settings
{
	"index.max_result_window":200000
}

_all表示所有索引,如果针对单个索引的话修改成索引名称即可!!!

# 修改索引查询最大只能返回10000条数据的限制, 此时修改为300万。
PUT grade/_settings
{
  "index.max_result_window": 3000000
}

此时变可以查询300万条数据了,数据量太大可能存在超时问题,查询数据时加上超时参数。 

方法2:

在创建索引的时候加上

{
  "settings": {
    "index": {
      "max_result_window": 10000000000
    }
  }
}

方法3:

        在查询时候把 track_total_hits 设置为 true。track_total_hits 设置为false禁用跟踪匹配查询的总点击次数,设置为true就会返回真实的命中条数

GET 索引名/_search
{
  "query": {
    "match_all": {}
  },
  "track_total_hits": true
}
# 查看数据
GET /grade3/_search
{
  "query": {
    "match_all": {}
  },
  "track_total_hits": true
}

# 查看数据
GET /grade/_search
{
  "query": {
    "match_all": {}
  },
  "track_total_hits": false
}

方法4:

使用kibana修改index信息

参考博文:

Elasticsearch解决只能查询10000条数据以及查询的total为10000条的解决方案_天龙至尊的博客-优快云博客_elasticsearch查询超过10000

解决ES只能查询10000条数据的问题 - 知乎 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值