【发布时间】:2017-04-12 14:27:07
【问题描述】:
我的 Elasticsearch 索引包含超过 1 亿 条记录。
如果我在查询下方运行,则响应会在 1 秒
内出现(1 条记录){
"query": {
"bool": {
"must":{
"term": {
"_id": "a36403af960840b86452bf1a6bd42fde3b4773e0"
}
}
}
}
}
但如果我在查询下方运行,则响应会在 2 分钟以上。
{
"query": {
"bool": {
"must":{
"term": {
"_id": "a36403af960840b86452bf1a6bd42fde3b4773e0"
}
}
}
},
"aggs": {
"mywordcloud": {
"terms": {
"field": "post.content_terms"
}
}
}
}
我不知道为什么在 _id = a36403af960840b86452bf1a6bd42fde3b4773e0 仅匹配 1 条记录的查询顶部添加聚合后需要这么长时间。
根据我的假设,弹性搜索正在对数据输出应用聚合。所以从技术上讲,它应该在 1 条记录上运行聚合,并且响应必须在 1 秒内完成,与不使用 aggs 几乎相同。
如何解决这个问题?
我使用的是弹性搜索版本 1.5
【问题讨论】:
-
你为什么不升级到最新的 5.3,它有很多改进,然后检查结果和响应时间。
-
我计划升级,但不确定它是否能解决 aggs 范围问题。
标签: elasticsearch