ElasticSearch

ElasticSearch官网
https://www.elastic.co/cn/elasticsearch/

Window安装ElasticSearch8
下载elasticsearch-8.13.4-windows-x86_64.zip并解压,启动bin/elasticsearch.bat

设置密码
进入bin目录
elasticsearch-reset-password -u elastic -i,输入密码elastic

访问https://localhost:9200

下载kibana-8.13.4-windows-x86_64.zip并解压,启动bin/kibana.bat,访问http://localhost:5601;账号密码为elastic/elastic

CMD乱码
chcp 65001

Window修改ElasticSearch内存
进入D:\elasticsearch-8.2.0\bin,elasticsearch-service.bat manager

查看系统用户
curl -X GET http://127.0.0.1:9200/_security/user

查看所有索引
curl -X GET http://127.0.0.1:9200/_cat/indices
curl -X GET http://127.0.0.1:9200/_cat/shards

删除索引
curl -X DELETE http://127.0.0.1:9200/sys_region

ElasticSearch默认一次最多查询1W条记录,可修改如下参数调整
curl -XPUT http://127.0.0.1:9200/sys_region/_settings -H 'content-Type:application/json' -d '{"index.max_result_window" :"100000000"}'
curl -XGET http://127.0.0.1:9200/sys_region/_settings

ElasticSearch操作符
gt: 大于
gte: 大于等于
lt: 小于
lte: 小于等于

统计数量

GET /order/_count
{
}

根据条件统计数量

GET /order/_count
{
    "query":{
        "bool":{
            "must":[
                {
                    "range":{
                        "businessDate":{
                            "gte":1606752000000,
                            "lte":1606838399000
                        }
                    }
                },
                {
                    "term":{
                        "cardNo":"001"
                    }
                }
            ]
        }
    }
}

分组查询

GET /order/_search
{
    "query":{
        "match_all":{
        }
    },
    "aggregations":{
        "cardno":{
            "terms":{
                "field":"cardNo",
                "size":30
            }
        }
    }
}

分组查询

GET /order/_search
{
    "query":{
        "bool":{
            "must":[
                {
                    "range":{
                        "businessDate":{
                            "gte":1606752000000,
                            "lte":1606838399000
                        }
                    }
                },
                {
                    "term":{
                        "cardNo":"0001"
                    }
                }
            ]
        }
    },
    "aggregations":{
        "cardno":{
            "terms":{
                "field":"cardNo",
                "size":30
            }
        }
    }
}

查询price在0-6之间,按createDate分组

{
    "query":{
        "range":{
            "price":{
                "from":0,
                "to":6,
                "include_lower":false,
                "include_upper":false
            }
        }
    },
    "aggregations":{
        "cardno":{
            "terms":{
                "field":"createDate",
                "size":10000
            }
        }
    }
}

size:0 只获取统计之后的结果,统计用到的原始数据不显示

GET /order/_search
{
    "size":0,
    "query":{
        "bool":{
            "must":[
                {
                    "range":{
                        "businessDate":{
                            "gte":1601481600000,
                            "lte":1601481600000
                        }
                    }
                },
                {
                    "range":{
                        "price":{
                            "gt":0,
                            "lt":1
                        }
                    }
                }
            ]
        }
    },
    "aggs":{
        "createDate":{
            "terms":{
                "field":"createDate",
                "size":10000
            },
            "aggs":{
                "price":{
                    "sum":{
                        "field":"price"
                    }
                },
                "orderNo":{
                    "cardinality":{
                        "field":"orderNo"
                    }
                }
            }
        }
    }
}

多字段分组

{
    "size":0,
    "aggs":{
        "createDate":{
            "terms":{
                "field":"createDate",
                "size":10000
            },
            "aggs":{
                "price":{
                    "terms":{
                        "field":"price",
                        "size":10000
                    }
                }
            }
        }
    }
}

查看某字段值为空或不存在

GET order/_count
{
    "query":{
        "bool":{
            "must_not":[
                {
                    "exists":{
                        "field":"cardNo"
                    }
                }
            ]
        }
    }
}

删除数据

POST order/_delete_by_query
{
    "query":{
        "bool":{
            "must":[
                {
                    "term":{
                        "businessDate":"1636214400000"
                    }
                }
            ]
        }
    }
}

posted on 2019-10-17 10:24  lc19149  阅读(422)  评论(0编辑  收藏  举报

导航