您的位置:首页 > 教育 > 锐评 > Elasticsearch 认证模拟题 - 10

Elasticsearch 认证模拟题 - 10

2024/10/6 18:33:01 来源:https://blog.csdn.net/Wolf_xujie/article/details/139531820  浏览:    关键词: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"}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com