Elasticsearch 认证模拟题 - 11

一、题目

编写一个名为 a_data_stream 数据流满足以下请求:

  1. 数据流索引主分片数为 1,副本为 2
  2. 数据流索引指定相应的 mapping ,二个字段为 keyword 类型,一个字段为 text 类型并指定分词器为 standard

按照上述要求建立数据流

1.1 考点
  1. 数据流
  2. 索引模板

仔细看题,似乎并不需要索引模板,但是我在官网没找到不适用模板就建立数据流的方法

1.2 答案
PUT _index_template/my_template
{
  "index_patterns": ["a_data_stream*"],
  "template": {
    "settings": {
      "number_of_shards": 1,
      "number_of_replicas": 2
    },
    "mappings": {
      "_source": {
        "enabled": true
      },
      "properties": {
        "a": {
          "type": "keyword"
        },
        "b": {
          "type": "keyword"
        },
        "c": {
          "type": "text",
          "analyzer": "standard"
        }
      }
    }
  },
  "priority": 500,
  "data_stream": { }
}

PUT _data_stream/a_data_stream

二、题目

在集群上有一个索引 task1,编写一个查询并满足以下要求:
1. 定义一个名为 a 的运行时字段,通过 a 字段实现以下聚合(a 字段的值等于 b 字段减去 c 字段)
2. 聚合a值小于-2的文档
3. 聚合-5到5之间的文档
4. 聚合大于5的文档
5. 建立测试索引

2.1 考点
  1. 聚合查询
  2. 运行时字段
2.2 答案
GET task1/_search
{
  "size": 0, 
  "runtime_mappings": {
    "a": {
      "type": "double",
      "script": {
        "source": """emit(doc['b'].value - doc['c'].value)"""
      }
    }
  },
  "aggs": {
    "a_ranges": {
      "range": {
        "field": "a",
        "ranges": [
          { "to": -2 },
          { "from": -5, "to": 5 },
          { "from": 5 }
        ]
      }
    }
  }
}
  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值