ElasticSearch 聚合太耗时,如何优化

index数据10G,经常执行下面查询,

{    "aggs": {        "sold": {            "sum": {                "field": "sold"
            }
        },        "category": {            "terms": {                "field": "cat",                "size": 100,                "execution_hint": "map"
            }
        }
    },    "sort": [
        ...
    ],    "query": {
        ...
    }
}

sold是统计符合query条件的产品总销量
category是列出符合query条件的产品所属分类

但以上查询非常慢,单单用query查询产品,时间会在8s-15s之间,但加上aggs,时间就飙升到50s以上,已经无法正常使用。

10G体积,记录数也只有1300W,对es来说数据里是否算大?
query条件多数是区间查询,比如价格区间,销量区间,查询时间已经达到10s左右,是否正常?
以上query+aggs查询,aggs部分有没有优化空间?


富国沪深
浏览 1871回答 1
1回答

BIG阳

单单用query查询产品,时间会在8s-15s之间这已经不正常了,一般也要2s以内才算正常(更严格点得1s了)先考虑ES的配置上的优化(集群数、机器配置如内存、SSD等)再考虑优化聚合
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript