[ECE]模拟试题-1

news/2024/11/22 20:14:05/
  1. 有一个索引task2,有field2字段,用match匹配the能查到很多数据,现在要求对task2索引进行重建,重建后的索引叫new_task2,然后match匹配the查不到数据

自定义分词:

DELETE /task2
DELETE /new_task2
PUT task2
{"settings": {"number_of_replicas": 0},"mappings": {"properties": {"field2":{"type": "text"}}}
}PUT task2/_doc/1
{"field2":"the school"
}

PUT /new_task2
{"settings": {"number_of_replicas": 0,"analysis": {"analyzer": {"my_analyzer": {"tokenizer": "standard","filter": ["stop"]}}}},"mappings": {"properties": {"field2": {"type": "text","analyzer": "my_analyzer"}}}
}POST /_reindex
{"source": {"index": "task2"},"dest": {"index": "new_task2"}
}GET /new_task2/_search
{"query": {"match": {"field2": "the"}}
}
  1. 有一个索引task3,其中有fielda,fieldb,fieldc,fielde,现要求对task3重建索引,重建后的索引新增一个字段fieldg,其值是fiedla,fieldb,fieldc,fielde的值拼接而成。

使用 ingest 去实现

DELETE task3
PUT task3
{"mappings": {"properties": {"fielda":{"type": "keyword"},"fieldb":{"type": "keyword"},"fieldc":{"type": "keyword"},"fielde":{"type": "keyword"}}}
}POST task3/_doc/1
{"fielda":"aa","fieldb":"bb","fieldc":"cc","fielde":"dd"
}
PUT task3_new
{"mappings": {"properties": {"fielda":{"type": "keyword"},"fieldb":{"type": "keyword"},"fieldc":{"type": "keyword"},"fielde":{"type": "keyword"},"fieldg":{"type": "keyword"}}}
}PUT _ingest/pipeline/my_exam1_pipeline
{"processors": [{"script": {"source": "ctx.fieldg = ctx.fielda + ctx.fieldb + ctx.fieldc + ctx.fielde"}}]
}POST /_reindex
{"source": {"index": "task3"},"dest": {"index": "task3_new","pipeline": "my_exam1_pipeline"}
}GET task3_new/_search
  1. 地震索引,只要2012年的数据(日期格式dd/MM/yyyyTHH:mm:ss),按月分桶,然后对每个桶里对magnitude和depth进行最大值聚合
DELETE /earthquakes2
PUT earthquakes2
{"settings": {"number_of_replicas": 0},"mappings": {"properties": {"timestamp":{"type": "date","format": "yyyy-MM-dd HH:mm:ss"},"magnitude":{"type": "float"},"type":{"type":"integer"},"depth":{"type":"float"}}}
}POST earthquakes2/_bulk
{"index":{"_id":1}}
{"timestamp":"2012-01-01 12:12:12", "magnitude":4.56, "type":1, "depth":10}
{"index":{"_id":2}}
{"timestamp":"2012-01-01 15:12:12", "magnitude":6.46, "type":2, "depth":11}
{"index":{"_id":3}}
{"timestamp":"2012-02-02 13:12:12", "magnitude":4, "type":2, "depth":5}
{"index":{"_id":4}}
{"timestamp":"2012-03-02 13:12:12", "magnitude":6, "type":3, "depth":8}
{"index":{"_id":5}}
{"timestamp":"1967-03-02 13:12:12", "magnitude":6, "type":2, "depth":6}
POST /earthquakes2/_search
{"size": 0,"aggs": {"my_filter": {"filter": {"range": {"timestamp": {"gte": "2012-01-01 00:00:00","lte": "2013-01-01 00:00:00"}}},"aggs": {"bucket_month": {"date_histogram": {"field": "timestamp","calendar_interval": "month"},"aggs": {"max_magnitude": {"max": {"field": "magnitude"}},"max_depth":{"max": {"field": "depth"}}}}}}}
}
  1. 注册一个快照,在指定的库创建一个指定索引的快照。
PUT /_snapshot/my_backup
{"type": "fs","settings": {"location": "/usr/share/elasticsearch/snapshot"}, "max_snapshot_bytes_per_sec":"20mb","max_restore_bytes_per_sec":"20mb"
}//备份索引
PUT /_snapshot/my_backup/snapshot_test_2023-01-03
{"indices": ["test"],"ignore_unavailable": true,"include_global_state": false
}
  1. 跨集群查询。
    1)配置好跨集群设置
    2)配置clustername:索引名即可。
PUT /_cluster/settings
{"persistent": {"cluster": {"remote":{"cluster_one":{"seeds":["192.168.0.11:9300"]}}}}
}POST /cluster_one:employees/_search
{"query": {"match_all": {}}
}
  1. multi_match查询。在a,b,c,d字段里搜索"fire",D字段的权重为2,最终得分是所有命中字段得分的和。
POST task5/_bulk
{"index":{"_id":1}}
{"a":"fire", "b":"fired", "c":"fox", "d":"box"}
POST task5/_search
{"query": {"multi_match": {"query": "fire","type": "most_fields", "fields": ["a","b","c","d^2"]}}
}
  1. 运行时字段,根据运行字段进行聚合分析,根据文档书写即可。

    在task6索引里,创建一个runtime字段,其值是A-B,A,B为字段;创建一个range聚合,分为三级:小于0,0-100,100以上;返回文档数为0

PUT task6/_bulk
{"index":{"_id":1}}
{"A":100, "B":2}
{"index":{"_id":2}}
{"A":120, "B":2}
{"index":{"_id":3}}
{"A":120, "B":25}
{"index":{"_id":4}}
{"A":21, "B":25}

PUT task6/_mapping
{"runtime":{"C":{"type":"long","script":{"source":"emit(doc['A'].value - doc['B'].value)"}}}
}POST task6/_search
{"size": 0,"aggs": {"range_c": {"range": {"field": "C","ranges": [{"to":0},{"from": 0,"to": 100},{"from": 100}]}}}
}
  1. 检索模板、查询,高亮,排序的混合。创建一个搜索模板满足以下条件:
    对于字段A,搜索param为search_string
    对于返回值,要高亮A字段的内容,用和框起来
    对于返回值,按照B字段排序
    对test索引进行搜索,search_string的值为test
DELETE test_search_temp
PUT test_search_temp
{"settings":{"number_of_replicas":0,"number_of_shards":1},"mappings":{"properties": {"A":{"type":"text"},"B":{"type":"integer"}}}
}POST test_search_temp/_bulk
{"index":{"_id":1}}
{"A":"I love test", "B":1}
{"index":{"_id":2}}
{"A":"I hate test", "B":2}
PUT _scripts/my-search-template
{"script": {"lang": "mustache","source": {"query": {"match": {"A": "{{search_string}}"}},"highlight": {"fields": {"A": {"pre_tags": ["<em>"],"post_tags": ["</em>"]}}},"sort": [{"B": {"order": "desc"}}]}}
}GET _scripts/my-search-templateGET test_search_temp/_search/template
{"id": "my-search-template","params": {"search_string": "test"}
}
  1. 给了飞机每个月飞行的数据,求出每个月平均延误时间最长的公司名字。
    ● 按到达国家统计每个国家的平均机票价格,并找出平均价格最高的国家。因为没有数据与具体题目,只能按要求做一个类似的。
    ● 求出每个月平均延误时间最长的目的地国家
    ● 解析:首先按月(timestamp)分桶,第二按目的地国家(DestCountry)分桶,第三求出每个目的地国家平均延误时间,第四因max_bucket是sibling聚合,在与bucket_DestCountry目的地国家桶并列的求出每个月内平均延误时间最长的国家;
    ● 结论:每个月内,都有一个最大延误时间的目的地国家

GET /kibana_sample_data_flights/_search
{"size": 0,"aggs": {"bucket_DestCountry": {"terms": {"field": "DestCountry","size": 10},"aggs": {"avg_price": {"avg": {"field": "AvgTicketPrice"}}}},"max_price_country":{"max_bucket": {"buckets_path": "bucket_DestCountry>avg_price"}}}
}

http://www.ppmy.cn/news/12142.html

相关文章

Vue过滤器

Vue过滤器1. 概述2. 全局过滤器与局部过滤器2.1 过滤器参数2.2 过滤器的串联1. 概述 在Vue.js中&#xff0c;过滤器主要用于文本的格式化&#xff0c;或者组件数据的过滤与排序等。从Vue2.0.0版本开始&#xff0c;内置的过滤器已经被删除&#xff0c;需要自己编写。 2. 全局过…

ES6学习笔记

ECMAScript6学习笔记 ECMAScript 和 JavaScript 的关系&#xff0c;前者是后者的规格&#xff0c;后者是前者的一种实现。ECMAScript 的其他方言还有如 Jscript 和 ActionScript。ES6相对之前的版本语法更严格&#xff0c;新增了面向对象的很多特性以及一些高级特性。 1.let声…

糖果(差分约束+找最小值)

糖果 题目描述 幼儿园里有 n 个小朋友&#xff0c; lxhgww 老师现在想要给这些小朋友们分配糖果&#xff0c;要求每个小朋友都要分到糖果。 但是小朋友们也有嫉妒心&#xff0c;总是会提出一些要求&#xff0c;比如小明不希望小红分到的糖果比他的多&#xff0c;于是在分配糖果…

Simulink 自动代码生成电机控制:关于无传感控制开环启动控制的仿真和开发板运行

目录 开环启动原理 开环启动建模实现 开环启动仿真 代码生成和验证 总结 开环启动原理 永磁同步电机开环三步启动是比较传统也是比较常用的启动方式&#xff0c;典型的启动有&#xff1a; 对齐&#xff1a;也说是说的转子预定位&#xff0c;就是通过手动给定一个初始角度…

javascript模块那些事儿:commonJS和ES module

前言 模块定义&#xff0c;包管理&#xff0c;以及加载问题是所有编程语言不得不面临的问题&#xff0c;死生存亡之地&#xff0c;不可不察也。 什么是一个模块&#xff1f; 一个模块就是一个js/ts文件&#xff0c;可以定义函数、类、数据&#xff0c;并export出来让外部可见…

分布式文件系统

常见的文件系统&#xff1a;FAT16/FAT32、NTFS、HFS、UFS、APFS、XFS、Ext4等 。 通过概念可以简单理解为&#xff1a;一个计算机无法存储海量的文件&#xff0c;通过网络将若干计算机组织起来共同去存储海量的文件&#xff0c;去接收海量用户的请求&#xff0c;这些组织起来的…

【数据结构】优先级队列(堆)

文章目录1.优先级队列1.1概念2.优先级队列的模拟实现2.1堆的存储方式2.2堆的创建2.3建堆的复杂度2.4堆的插入和删除3.常用接口介绍1.优先级队列 1.1概念 队列是一种先进先出的数据结构。但有些情况下&#xff0c;操作的数据可能带有优先级&#xff0c;一般出队列时&#xff0…

乐鑫 2022 提前批面试题

一面 自我介绍在这简历的四个项目中你最熟悉哪一个?整体介绍一下,画整体框图。在这个项目中你主要负责哪个部分?详细讲一下接收到图像数据之后你的算法工作。为什么帧数选取是 512 帧?为什么选用两种方法进行估计?系统的精确度?你觉得在什么样的情况下输出的准确度会降低…