Elasticsearch 认证模拟题 - 22

一、题目

索引 task 索引中文档的 fielda 字段内容包括了 hello & world ,索引后,要求使用 match_phrase query 查询 hello & world 或者 hello and world 都能匹配该文档

1.1 考点
  1. 分词器
1.2 答案
rust 复制代码
# 创建符合条件的 task 索引,设置 field 字段,并写入数据
PUT task
{
"settings": {
    "analysis": {
      "analyzer": {
        "my_analyzer": {
          "tokenizer": "standard",
          "char_filter": [
            "my_mappings_char_filter"
          ]
        }
      },
      "char_filter": {
        "my_mappings_char_filter": {
          "type": "mapping",
          "mappings": [
            "& => and"
          ]
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "fielda":{
        "type": "text",
        "analyzer": "my_analyzer"
      }
    }
  }
}

# 写入数据
POST task/_bulk
{"index":{}}
{"fielda":"hello & world"}
{"index":{}}
{"fielda":"hello and world"}

# 验证结果
GET task/_search
{
  "query": {
    "match_phrase": {
      "fielda": "hello & world"
    }
  }
}

二、题目

有一个索引 task3,其中有 fieldafieldbfieldcfielde 现要求对 task3 重建索引,重建后的索引新增一个字段 fieldg 其值是fieldafieldbfieldcfielde 的值拼接而成。

rust 复制代码
# 创建符合条件的 task3 索引,设置 field 字段,并写入数据
PUT task3
{
  "mappings": {
    "properties": {
      "fielda":{
        "type": "keyword"
      },
      "fieldb":{
        "type": "keyword"
      },
      "fieldc":{
        "type": "keyword"
      },
      "fielde":{
        "type": "keyword"
      }
    }
  }
}

POST task3/_bulk
{"index":{}}
{"fielda":"aa","fieldb":"bb","fieldc":"cc","fielde":"dd"}
{"index":{}}
{"fielda":"中华","fieldb":"人民","fieldc":"共和国","fielde":"万岁"}
2.1 考点
  1. 重建索引
  2. 管道
2.2 答案
rust 复制代码
# 预览脚本结果
POST _ingest/pipeline/_simulate
{
  "pipeline": {
    "processors": [
      {
        "script": {
          "lang": "painless",
          "source": """
            ctx['fieldg'] = ctx['fielda'] + ' ' + ctx['fieldb'] + ' '+ctx['fieldc'] + ' ' + ctx['fielde'];
          """
        }
      }
    ]
  },
  "docs": [
    {
      "_source": {
        "fielda":"中华","fieldb":"人民","fieldc":"共和国","fielde":"万岁"
      }
    }
  ]
}

# 定义脚本
PUT _ingest/pipeline/my_pipeline
{
  "processors": [
    {
      "script": {
        "lang": "painless",
        "source": """
            ctx['fieldg'] = ctx['fielda'] + ' ' + ctx['fieldb'] + ' '+ctx['fieldc'] + ' ' + ctx['fielde'];
          """
      }
    }
  ]
}

# 重建索引
POST _reindex
{
  "source": {
    "index": "task3"
  },
  "dest": {
    "index": "task3_new",
    "pipeline": "my_pipeline"
  }
}

# 搜索结果
GET task3_new/_search
相关推荐
卖寂寞的小男孩2 小时前
spark数据缓存机制
大数据·缓存·spark
jiedaodezhuti3 小时前
Flink直接缓冲存储器异常解析与解决方案
大数据·flink
knqiufan3 小时前
面向海量关系型数据的实时全文检索:从 Elasticsearch 到 Logstash 的架构解析
elasticsearch·etl
代码的余温4 小时前
Elasticsearch Master选举机制解析
大数据·elasticsearch·搜索引擎
计算机源码社4 小时前
计算机毕设选题推荐 基于Spark的家庭能源消耗智能分析与可视化系统 基于机器学习的家庭能源消耗预测与可视化系统源码
大数据·机器学习·数据分析·spark·毕业设计·课程设计·毕业设计源码
IT研究室4 小时前
大数据毕业设计选题推荐-基于大数据的北京市医保药品数据分析系统-Spark-Hadoop-Bigdata
大数据·hadoop·spark·毕业设计·源码·数据可视化
Flink_China5 小时前
Lazada 如何用实时计算 Flink + Hologres 构建实时商品选品平台
大数据·flink
猿java6 小时前
Elasticsearch有哪几种分页方式?该如何选择?
后端·elasticsearch·架构
时序数据说6 小时前
IoTDB如何解决海量数据存储难题?
大数据·数据库·物联网·时序数据库·iotdb
ManageEngineITSM7 小时前
云原生环境下的ITSM新趋势:从传统运维到智能化服务管理
大数据·运维·人工智能·云原生·itsm·工单系统