大家好,我这里遇到一个查询很慢的问题,想请大家帮忙分析一下。
索引:按月创建,目前已经有三个了,总数据条数超过 2 亿条,id 是一个值 hash 的结果。
查询需求:给定几千个 _id ,确定是否已经存在。
语句如下:
query: {
terms: {
_id: _ids
}
}
现在每次查询都需要 20 ~ 30 秒, elasticsearch 是默认配置。试过把 Xms1g Xmx1g 都改为 4G 或 6G ,没有效果。
索引:按月创建,目前已经有三个了,总数据条数超过 2 亿条,id 是一个值 hash 的结果。
查询需求:给定几千个 _id ,确定是否已经存在。
语句如下:
query: {
terms: {
_id: _ids
}
}
现在每次查询都需要 20 ~ 30 秒, elasticsearch 是默认配置。试过把 Xms1g Xmx1g 都改为 4G 或 6G ,没有效果。
1 个回复
laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net
赞同来自:
为了防止出现这种情况,可以直接或通过查找在术语查询中使用的最大数限制为65536.
可以使用索引设置index.max_terms_count更改特定索引的此默认最大值。