提取码:ibcfkibana 操作⽂档
GET _search{
\"query\": {
\"match_all\": {} }}
### 查看集群健康信息GET /_cat/health?v### 帮助
GET /_cat/health?help### 查看集群中节点信息GET /_cat/nodes?v### 查看集群中索引信息GET /_cat/indices?v
### 精简信息
GET /_cat/indices?v&h=health,status,index### 创建索引PUT /baizhi### 删除索引DELETE /baizhi
### 创建类型mappingPOST /baizhi/user{
\"user\": {
\"properties\": {
\"id\": { \"type\": \"text\" },
\"name\": { \"type\": \"text\" }, \"age\": { \"type\": \"integer\" }, \"created\": {
\"type\": \"date\
\"format\": \"strict_date_optional_time || epoch_millis\" } } }}
### 查看类型mappingGET /baizhi/_mapping### 新增单个⽂档PUT /baizhi/user/1{
\"name\":\"zs\ \"title\":\"张三\ \"age\":18,
\"created\":\"2018-12-25\"}
### 查询所有⽂档
GET /zpark/user/_search### 指定id查询单个⽂档GET /baizhi/user/1### 修改单个⽂档PUT /baizhi/user/1{
\"name\": \"lxs\ \"title\": \"李⼩四\"}
### 删除单个⽂档
DELETE /baizhi/user/1
### 批量新增
POST /baizhi/user/_bulk{\"index\":{}}
{\"name\":\"ww\王五\{\"index\":{}}
{\"name\":\"zl\赵六\### 批量删除
POST /baizhi/user/_bulk
{\"update\":{\"_id\":\"K38E728BJ1QbWBSobMEC\{\"doc\":{\"title\":\"王⼩五\
{\"delete\":{\"_id\":\"LH8E728BJ1QbWBSobMEC\##############进阶######################### 查询(Query)
# 批量插⼊测试数据POST /zpark/user/_bulk{\"index\":{\"_id\":1}}
{\"name\":\"zs\张三\北京市昌平区沙阳路55号\{\"index\":{\"_id\":2}}
{\"name\":\"ls\李四\北京市朝阳区三⾥屯街道21号\{\"index\":{\"_id\":3}}
{\"name\":\"ww\王五\北京市海淀区中关村⼤街新中关商城2楼511室\{\"index\":{\"_id\":4}}
{\"name\":\"zl\赵六\北京市海淀区中关村软件园9号楼211室\{\"index\":{\"_id\":5}}
{\"name\":\"tq\⽥七\北京市海淀区西⼆旗地铁辉煌国际⼤厦负⼀楼\
### 查看所有并按照年龄降序排列GET /zpark/user/_search{
\"query\": {
\"match_all\": {} },
\"sort\": {
\"age\": \"desc\" }}
### 查询第2页的⽤户(每页显⽰2条)GET /zpark/user/_search{
\"query\": {
\"match_all\": {} },
\"sort\": {
\"age\": \"desc\" },
\"from\": 2, \"size\": 2 }
### 查询address在海淀区的所有⽤户,并⾼亮GET /zpark/user/_search{
\"query\": { \"match\": { \"address\": {
\"analyzer\": \"ik_max_word\ \"query\": \"海淀区\" } } },
\"highlight\": { \"fields\": { \"address\": {} } }}
### 设置索引分词器PUT /zpark{
\"settings\" : { \"index\" : {
\"analysis.analyzer.default.type\": \"ik_smart\" } }}
### 查询name是zs关键字的⽤户GET /zpark/user/_search{
\"query\":{ \"term\": { \"name\": {
\"value\": \"zs\" } } }}
### 查询年龄在20~30岁之间的⽤户GET /zpark/user/_search{
\"query\": { \"range\": { \"age\": { \"gte\": 20, \"lte\": 30 } } }}
### 查询真实姓名以李开头的⽤户GET /zpark/user/_search{
\"query\": { \"prefix\": {
\"realname\": { \"value\": \"李\" } } }}
### 查询名字以s结尾的⽤户GET /zpark/user/_search{
\"query\": { \"wildcard\": { \"name\": { \"value\": \"*s\" } } }}
### 查询id为1,2,3的⽤户GET /zpark/user/_search{
\"query\": { \"ids\": {
\"values\": [1,2,3] } }}
### 模糊查询realname中包含张关键字的⽤户GET /zpark/user/_search{
\"query\": { \"wildcard\": {
\"realname\": {\"value\": \"*张*\ } }}
### 查询age在15-30岁之间并且name必须通配z*GET /zpark/user/_search{
\"query\": { \"bool\": {
\"must\": [ {
\"range\": { \"age\": { \"gte\": 15, \"lte\": 30 }
} }, {
\"wildcard\": { \"name\": { \"value\": \"z*\" } } } ],
\"must_not\": [ {
\"regexp\": { \"name\": \".*s\" } } ] } }}
############# 过滤器(Filter)
### 其实准确来说,ES中的查询操作分为2种:查询(query)和过滤(filter)。查询即是之前提到的query查询,它(查询)默认会计算每个返回⽂档的得分,然后根据得分排序。⽽过滤(filter)只会筛选出符合的⽂档,并不计算得分,且它可以缓存⽂档。所以,### 换句话说,过滤适合在⼤范围筛选数据,⽽查询则适合精确匹配数据。⼀般应⽤时,应先使⽤过滤操作过滤数据,然后使⽤查询匹配数据。### 过滤器使⽤ ranage filterGET /zpark/user/_search{
\"query\":{ \"bool\": { \"must\": [
{\"match_all\": {}} ],
\"filter\": { \"range\": { \"age\": { \"gte\": 25 } } } } }}
### term、terms Filter term、terms的含义与查询时⼀致。term⽤于精确匹配、terms⽤于多词条匹配GET /zpark/user/_search{
\"query\":{ \"bool\": { \"must\": [
{\"match_all\": {}} ],
\"filter\": { \"terms\": { \"name\": [ \"zs\ \"ls\" ] } } } }}
### exists filter exists过滤指定字段没有值的⽂档GET /zpark/user/_search{
\"query\": { \"bool\": { \"must\": [ {
\"match_all\": {} } ],
\"filter\": { \"exists\": {
\"field\": \"salary\" } } } },
\"sort\": [ {
\"_id\": {
\"order\": \"asc\" } } ]}
### ids filter 需要过滤出若⼲指定_id的⽂档,可使⽤标识符过滤器(ids)GET /zpark/user/_search{
\"query\": { \"bool\": { \"must\": [ {
\"match\": {
\"address\": \"昌平区\" } } ],
\"filter\": { \"ids\": { \"values\": [ 1, 2, 3 ] } } }
},\"highlight\": { \"fields\": {
\"address\": {} } }}
#############聚合(Aggregations)### 度量(metric)聚合
POST /zpark/user/_search{
\"aggs\": {
\"age_avg\": {
\"avg\": {\"field\": \"age\ } }}
### 先过滤,再进⾏统计,如:POST /zpark/user/_search{ \"query\": { \"ids\": {
\"values\":[1,2,3] } },
\"aggs\": {
\"age_avg\": {
\"avg\": {\"field\": \"age\ } }}
### 最⼤值查询。如:查询员⼯的最⾼⼯资POST /zpark/user/_search{
\"aggs\": {
\"max_salary\": { \"max\": {
\"field\": \"salary\" } } }}
### 统计查询,⼀次性统计出某个字段上的常⽤统计值POST /zpark/user/_search{
\"aggs\": {
\"max_salary\": { \"stats\": {
\"field\": \"salary\" } } }}
### 桶(bucketing)聚合 ⾃定义区间范围的聚合,我们可以⾃⼰⼿动地划分区间,ES会根据划分出来的区间将数据分配不同的区间上去。### 统计0-20岁,20-35岁,35~60岁⽤户⼈数POST /zpark/user/_search{
\"aggs\": {
\"age_ranges\": { \"range\": {
\"field\": \"age\ \"ranges\": [ {
\"from\": 0, \"to\": 20 }, {
\"from\": 20, \"to\": 35 }, {
\"from\": 35, \"to\": 60 } ] } } }}
### 根据年龄分组,统计相同年龄的⽤户POST /zpark/user/_search{
\"aggs\": {
\"age_counts\":{ \"terms\": {
\"field\": \"age\ \"size\": 2 } } }}
### 时间区间聚合专门针对date类型的字段,它与Range Aggregation的主要区别是其可以使⽤时间运算表达式。### now+10y:表⽰从现在开始的第10年。### now+10M:表⽰从现在开始的第10个⽉。
### 1990-01-10||+20y:表⽰从1990-01-01开始后的第20年,即2010-01-01。### now/y:表⽰在年位上做舍⼊运算。
### 统计⽣⽇在2018年、2017年、2016年的⽤户POST /zpark/user/_search{
\"aggs\": {
\"date_counts\": { \"date_range\": { \"field\": \"birthday\
\"format\": \"yyyy-MM-dd\ \"ranges\": [ {
\"from\": \"now/y\ \"to\": \"now\" }, {
\"from\": \"now/y-1y\ \"to\":\"now/y\" }, {
\"from\": \"now/y-2y\ \"to\":\"now/y-1y\" } ] } } }}
### 嵌套使⽤
### 聚合操作是可以嵌套使⽤的。通过嵌套,可以使得metric类型的聚合操作作⽤在每⼀bucket上。我们可以使⽤ES的嵌套聚合操作来完成稍微复杂⼀点的统计功能。
### 如:统计每年中⽤户的最⾼⼯资POST /zpark/user/_search{
\"aggs\": {
\"date_histogram\": { \"date_histogram\": { \"field\": \"birthday\ \"interval\": \"year\
\"format\": \"yyyy-MM-dd\" },
\"aggs\": {
\"salary_max\": {
\"max\": { \"field\": \"salary\" } } } } }}
到此这篇关于windows 环境下搭建electricSearch+kibana的⽂章就介绍到这了,更多相关windows 环境搭建electricSearch+kibana内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!
因篇幅问题不能全部显示,请点此查看更多更全内容