栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Elasticsearch中将字段重命名为新索引

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Elasticsearch中将字段重命名为新索引

如果仅执行第一行(更改文档类型),则一切正常。如果我添加其余的行,则会出现错误

您不需要将所有内联语句都放在双引号中,而是可以将所有内联脚本语句都用分号(

;
)分隔并用双引号(
"
)括起来,如下所示:

"script": {    "inline": "ctx._source.title1 = ctx._source.title; ctx._source.title2 = ctx._source.remove("title");ctx._source.body1 = ctx._source.body; ctx._source.body2 = ctx._source.remove("body");ctx._type="articles_eng""}

即使我可以使用多条语句来解决问题,也只需在第二行中输入错误即可

您试图以错误的方式访问源字段。元数据字段(如

_id, _type, _index ..
)应作为
ctx._type
/
访问
ctx._id
,而源字段(如
title, body, other
您的情况)应作为
ctx._source.title
/
访问
ctx._source.body

因此,最后,您的ReIndex查询应如下所示:

POST _reindex{  "source": {    "index": "origindex",    "_source": [ "title", "body" ]  },  "dest": {    "index": "newindex"  },  "script": {    "inline": "ctx._source.title1 = ctx._source.title; ctx._source.title2 = ctx._source.remove("title");ctx._source.body1 = ctx._source.body; ctx._source.body2 = ctx._source.remove("body");ctx._type="articles_eng""  }}

希望这可以帮助!



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/399504.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号