在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ ElasticSearch 聚合太耗時,如何優(yōu)化

ElasticSearch 聚合太耗時,如何優(yōu)化

index數(shù)據(jù)10G,經(jīng)常執(zhí)行下面查詢,

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

sold是統(tǒng)計符合query條件的產(chǎn)品總銷量
category是列出符合query條件的產(chǎn)品所屬分類

但以上查詢非常慢,單單用query查詢產(chǎn)品,時間會在8s-15s之間,但加上aggs,時間就飆升到50s以上,已經(jīng)無法正常使用。

10G體積,記錄數(shù)也只有1300W,對es來說數(shù)據(jù)里是否算大?
query條件多數(shù)是區(qū)間查詢,比如價格區(qū)間,銷量區(qū)間,查詢時間已經(jīng)達(dá)到10s左右,是否正常?
以上query+aggs查詢,aggs部分有沒有優(yōu)化空間?

回答
編輯回答
涼薄
單單用query查詢產(chǎn)品,時間會在8s-15s之間
這已經(jīng)不正常了,一般也要2s以內(nèi)才算正常(更嚴(yán)格點得1s了)
先考慮ES的配置上的優(yōu)化(集群數(shù)、機(jī)器配置如內(nèi)存、SSD等)
再考慮優(yōu)化聚合
2017年8月24日 17:31