Elasticsearch 认证模拟题 - 10

一、题目

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

  1. title 中包含 my "或 me
  2. 如果 tags 中包含 romatic movies,该条算分提高,如果不包含则算分不变。
rust 复制代码
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 答案
rust 复制代码
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

rust 复制代码
# 创建索引
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 答案
rust 复制代码
# 创建模板
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"
  }
}
相关推荐
2601_963016261 小时前
统一消息与事件调用:如何用微信接口把微信自动化做成稳健中台?
大数据·运维·人工智能·微信·自动化
ljs6482739511 小时前
VMware 中部署 HDFS 集群环境(Hadoop 3.4.3)完整指南
大数据·hadoop·hdfs
雪碧聊技术10 小时前
Badge 应用场景与落地实践指南
大数据·人工智能
望江东浪10 小时前
我的 Claude Code 效率工具全套配置分享
大数据·elasticsearch·搜索引擎
chaoyuanl11 小时前
现有游乐设施 XR 数字化升级改造方案
大数据·科技·3d·xr·娱乐
LL3344556712 小时前
创业自动化平台怎么选
大数据·人工智能
珠海西格电力13 小时前
云边端协同架构:零碳园区管理系统的技术底座
大数据·运维·人工智能·算法·架构·能源
cc57250265314 小时前
大数据专业是不是热门专业
大数据
汇策研习社14 小时前
StdDev标准差指标深度解析:量化市场波动的核心工具
大数据·经验分享·金融·区块链·fastbull
大大大大晴天15 小时前
Hudi技术内幕: Concurrency Control原理与实践
大数据