认证题目记录

微屁恩选的是迷雾通,下午两点考的,延迟忽高忽低期间在台中和新加坡节点切换了一次,掉线了 3 次。。。好在重连都挺快的。共 10 题,分为三个集群,cluster1 为三节点,cluster2cluster3 为单节点:

集群中的每个机器都是使用 elastic 用户登录,不需要密码。不需要担心权限,启动配置等问题。

  1. 集群 cluster1 (未启动,node1 node2 node3)上有两个索引 logs_newlogs_old 。(我查看了索引的属性,都为 3 个主分片,1 个副本)。要求启动集群,并且在不删除索引的情况下达到以下要求:

    • logs_new 的分片只分布在 node1 上。

    • logs_old 的分片分布在 node2node3 上。

    • 保持集群状态为 green

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      PUT logs_new/_settings
      {
      "number_of_replicas": 0,
      "index.routing.allocation.require._name":"node1"
      }

      PUT logs_old/_settings
      {
      "index.routing.allocation.exclued._name":"node1"
      }
  2. cluster2 上有索引 movie_data ,搜索( title 字段) wayneswayne's 的结果不同(),要求将 movie_data 的数据 reIndex 到 新索引上,并满足以下要求:

    • 新索引名为 task2

    • 搜索 (title 字段) wayneswayne's 的相关性得分相同。样例说明中还提到了 kingsking‘s 等带有撇号的单词。所以这里我认为只能使用 char_filter 来进行映射。synonym 不太符合题意

    • task2 的字段属性需要和 movie_data 保持一致(具体属性记不清,使用 GET movie_data/_mapping 将属性抄过来即可。只需给 title 字段添加上自己定义的分词器即可)

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      PUT task2
      {
      "number_of_replicas": 0,
      "settings": {
      "analysis": {
      "analyzer": {
      "my_custom_analyzer": {
      "type": "custom",
      "char_filter": "my_char_filter",
      "tokenizer": "standard",
      "filter": [
      "lowercase"
      ]
      }
      },
      "char_filter": {
      "my_char_filter": {
      "type": "mapping",
      "mappings": [
      "' => "
      ]
      }
      }
      }
      },
      "mappings": {
      "properties": {
      "title": {
      "type": "text",
      "analyzer": "my_custom_analyzer"
      }
      }
      }
      }
  3. cluster2 上 的 nested 查询,给了一个数组字段,要求创建索引 task3,同样的数据,搜索时不应该返回结果,只提供 json

  4. inspections multi_match 。检索 某个索引的 3 个字段,要求其中一个的算分 boost2 。得分为三个字段的和(most_fields),只提供 json
  5. update_by_query,字段为 4 个字段的拼接,题目没有说加空格。但是展示的案例中是有空格的。
  6. dynamic_templatex_ 开头的映射为 integerstring 类型的映射为 keyword
  7. 聚合,地震那题,但是改动了下,要求返回每个月的最大震级和最大深度,一个 date_histogram ,子聚合两个 max 就搞定了,只提供 json
  8. 备份与恢复,在 cluster2 上指定的目录下创建备份。按照给定的仓库名、备份名称进行创建。只要求备份 movie_data 索引
  9. 集群 RBAC ,在 cluster3 上配置,elastickibana 的用户密码都为 password。创建用户 susanFull_nameSusan,邮箱为 **certification@elastic.co**,给 susan 赋予 kibana_user 的权限。(做这题的时候很奇怪。。我配好之后,用 elastic 登录进去,发现每次不到 2 分钟就会自动退出。我加用户还没点确定,登录状态就已经失效了。。。)
  10. 普通查询,对 movie_data 进行 match_phrase 查询, 指定字段高亮 + 排序
0%