当前位置: 首页 > news >正文

Elasticsearch 认证模拟题 - 10

一、题目

在索引 task8 中,写出满足以下条件的查询

  1. title 中包含 my"或 me
  2. 如果 tags 中包含 romatic movies,该条算分提高,如果不包含则算分不变。
PUT task8
{"mappings": {"properties": {"title":{"type":"text"},"tags":{"type": "keyword"}}}
}POST task8/_bulk
{"index": {}}
{"title":"my", "tags":["romatic movies"]}
{"index": {}}
{"title":"me", "tags":["movies"]}
1.1 考点
  1. Boolean
  2. Function score
1.2 答案
GET task8/_search
{"query": {"function_score": {"query": {"bool": {"should": [{"match": {"title": "my"}},{"match": {"title": "me"}}]}},"functions": [{"filter": {"term": {"tags": {"value": "romatic movies"}}},"weight": 2}],"boost": "5","boost_mode": "multiply"}}
}

二、题目

对索引 task9 编写一个查询模板,并满足以下要求:

  1. 使用 a_01 参数查询 a 字段
  2. 使用 start_dateend_date 参数范围查询 timestamp 字段
  3. 如果没有提供 end_date 参数,那么结束时间默认是现在
  4. 查询结果中 b 字段必须等于 active

使用 查询模板查询 2018年6月1日到现在的数据,a 字段包含关键字 aaa

# 创建索引
PUT task9
{"mappings": {"properties": {"a":{"type": "text"},"b":{"type": "keyword"},"timestamp":{"type": "date"}}}
}# 写入数据
POST /task9/_bulk
{"index": {}}
{"a":"aaa AAA", "b":"active", "timestamp":"2021-11-11T11:21:21.000Z"}
{"index": {}}
{"a":"aaa AAA", "b":"active", "timestamp":"2022-11-11T11:21:21.000Z"}
{"index": {}}
{"a":"AAA", "b":"b", "timestamp":"2023-11-11T11:21:21.000Z"}
2.1 考点
  1. 查询模板
  2. 查询模板的默认参数
  3. Boolean
2.2 答案
# 创建模板
POST _scripts/my_search_template
{"script": {"lang": "mustache","source": {"query": {"bool": {"must": [{"match": {"a": "{{a_01}}"}},{"range": {"timestamp": {"gte": "{{start_date}}","lte": "{{end_date}}{{^end_date}}now{{/end_date}}"}}},{"term": {"b": {"value": "active"}}}]}}}}
}# 预览检索模板
GET _render/template/my_search_template
{"params": {"a_01": "aaa","start_date": "2018-06-01T00:00:00.000Z"}
}# 查询
GET task9/_search/template
{"id": "my_search_template", "params": {"a_01": "aaa","start_date": "2018-06-01T00:00:00.000Z"}
}

相关文章:

  • 【ARM Cache 与 MMU 系列文章 7.7 – ARMv8/v9 MMU Table 表分配原理及其代码实现 1】
  • 什么叫防御式编程
  • 写入文件内容
  • 软件架构x86 、 x86_64、 arm64、aarch64
  • 【MySQL数据库】my.ini文件参数中文注释
  • 大疆智图_空三二维重建成果传输
  • Java finally catch try关键字
  • 反转链表 (oj题)
  • C++中的sizeof和strlen详解
  • 【玩转C语言】第三讲---> scanf 和 printf 函数详解(非常重要)!
  • Redisson知识
  • 斯坦福天才少女创5亿独角兽!Pika获8000万融资,金牌团队首曝光
  • 小主机折腾记24
  • 计算机基础(8)——音频数字化(模电与数电)
  • WPF中读取Excel文件的内容
  • Fastjson的基本使用方法大全
  • Javascripit类型转换比较那点事儿,双等号(==)
  • Making An Indicator With Pure CSS
  • nginx 负载服务器优化
  • PAT A1120
  • sessionStorage和localStorage
  • SOFAMosn配置模型
  • SpiderData 2019年2月13日 DApp数据排行榜
  • vue 个人积累(使用工具,组件)
  • vue数据传递--我有特殊的实现技巧
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 缓存与缓冲
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 技术发展面试
  • 解析 Webpack中import、require、按需加载的执行过程
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 新书推荐|Windows黑客编程技术详解
  • 怎么把视频里的音乐提取出来
  • const的用法,特别是用在函数前面与后面的区别
  • ​用户画像从0到100的构建思路
  • # 消息中间件 RocketMQ 高级功能和源码分析(七)
  • $jQuery 重写Alert样式方法
  • (1)Nginx简介和安装教程
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (二)hibernate配置管理
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (十)T检验-第一部分
  • (算法)Game
  • (一)UDP基本编程步骤
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • .NET 5种线程安全集合
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .NET delegate 委托 、 Event 事件
  • .net FrameWork简介,数组,枚举
  • .NET中使用Redis (二)