当前位置: 首页 > 面试题库 >

Elasticsearch映射-重命名现有字段

勾渝
2023-03-14
问题内容

无论如何,我可以在现有的Elasticsearch映射中重命名元素而不必添加新元素?如果是这样,为了避免破坏现有映射,最好的方法是什么?

例如从fieldCamelcase到fieldCamelCase

{
    "myType": {
        "properties": {
            "timestamp": {
                "type": "date",
                "format": "date_optional_time"
            },
            "fieldCamelcase": {
                "type": "string",
                "index": "not_analyzed"
            },
            "field_test": {
                "type": "double"
            }
        }
    }
}

问题答案:

您可以通过创建一个Ingest管道来做到这一点,该管道包含一个Rename
Processor
和Reindex
API

PUT _ingest/pipeline/my_rename_pipeline
{
  "description" : "describe pipeline",
  "processors" : [
    {
      "rename": {
        "field": "fieldCamelcase",
        "target_field": "fieldCamelCase"
      }
    }
  ]
}

POST _reindex
{
  "source": {
    "index": "source"
  },
  "dest": {
    "index": "dest",
    "pipeline": "my_rename_pipeline"
  }
}

请注意,您需要运行Elasticsearch 5.x才能使用摄取。如果您运行的是<5.x,那么您必须使用他评论中提到的@Val :)



 类似资料:
  • 问题内容: 我有这样的文件 我需要更改为 为此,首先将字段映射添加到现有索引 然后尝试重新索引 错误是 问题答案: 该字段在您的文档中尚不存在,因此您的脚本需要首先创建它: 或更短一些:

  • 主要内容:映射类型,动态映射,映射参数映射是存储在索引中的文档的大纲。它定义数据类型,如或文档和规则中存在的字段的字符串和格式,以控制动态添加的字段的映射。 例如, 请求正文 响应 字段数据类型 Elasticsearch支持文档中字段的多种不同数据类型。以下数据类型用于在Elasticsearch中存储字段 - 核心数据类型 - 这些是几乎所有系统支持的基本数据类型,如整数,长整数,双精度,短整型,字节,双精度,浮点型,字符串,日期

  • 我对弹性搜索一无所知。所以,如果这是一个愚蠢的问题,请原谅我,我的问题可能已经在其他地方得到了回答,但我找不到。我想使用弹性搜索作为我的网络中PDF和docx的搜索引擎。我使用fscrawler将PDF文件吸收到弹性搜索中。因为我要摄取的文档是几种语言的,所以我想使用n-graming进行词干分析。为此,我想像这样更新我的映射 现在我收到了这个错误信息 {“error”:{“root_cause”

  • 4.4.1 rosrun设置命名空间与重映射 1.rosrun设置命名空间 1.1设置命名空间演示 语法: rosrun 包名 节点名 __ns:=新名称 rosrun turtlesim turtlesim_node __ns:=/xxx rosrun turtlesim turtlesim_node __ns:=/yyy 两个节点都可以正常运行 1.2运行结果 rosnode list查看

  • 这里的问题是映射,我需要强制转换结果或手动检查一切。即使有更好的映射能力,我也不敢相信没有更好的方法来做到这一点。 我也试过这样做:https://stackoverflow.com/a/36329166/840315,但您需要将类路径硬编码到查询中以使其工作,而且我仍然需要将对象映射到不可变的对象。 使用JdbcTemplate,您可以使用(src): spring data JPA是否有类似的

  • 4.4.3 编码设置命名空间与重映射 如果自定义节点实现,那么可以更灵活的设置命名空间与重映射实现。 1.C++ 实现:重映射 1.1名称别名设置 核心代码:ros::init(argc,argv,"zhangsan",ros::init_options::AnonymousName); 1.2执行 会在名称后面添加时间戳。 2.C++ 实现:命名空间 2.1命名空间设置 核心代码 std::