无论如何,我可以在现有的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::