我在ES文档中发现映射仅在索引创建期间应用。所以我有点困惑,什么才是正确的方法。
即使在使用put映射API保持strict
之后,您也可以在将来更新映射。您不需要重新索引现有数据,除非您希望新添加的字段对旧文档有一些价值,旧文档是在用新字段更新映射之前添加的。
假设您已经有一个索引test
,其中有一个字段,例如field1
类型为keyword
。现在,将来您需要添加新字段,例如integer
类型的field2
。您可以通过put映射api这样做,
PUT test/_mapping
{
"properties": {
"field2": {
"type": "integer"
}
}
}
在执行上述操作之后,如果您使用
GET test/_mapping
{
"test" : {
"mappings" : {
"dynamic" : "strict",
"properties" : {
"field1" : {
"type" : "keyword"
},
"field2" : {
"type" : "integer"
}
}
}
}
}
我对弹性搜索一无所知。所以,如果这是一个愚蠢的问题,请原谅我,我的问题可能已经在其他地方得到了回答,但我找不到。我想使用弹性搜索作为我的网络中PDF和docx的搜索引擎。我使用fscrawler将PDF文件吸收到弹性搜索中。因为我要摄取的文档是几种语言的,所以我想使用n-graming进行词干分析。为此,我想像这样更新我的映射 现在我收到了这个错误信息 {“error”:{“root_cause”
问题所在 我是elasticsearch的新手,我想了解动态映射和重新索引文档之间的关系。 根据我的实验,当动态映射打开时,文档的重新索引是自动完成的。这意味着如果向文档中添加新字段,它将自动被索引。 TEST1-带映射的索引 TEST2-没有映射的索引
问题内容: 也许我缺少一些简单的东西,但仍然无法弄清楚以下内容: 从ES 6.x开始,该字段已弃用,建议使用说明(https://www.elastic.co/guide/en/elasticsearch/reference/current/copy- to.html )。 但是,给我的印象是,您需要显式指定要复制到自定义字段的字段。但是,如果我使用动态映射,则我不事先知道字段,因此不能使用? 我
我想为我的索引更新elasticsearch中的默认映射。但是所有的文档都指出我们必须为更新映射提供类型。问题是我有很多索引类型,它们是动态创建的,就像新类型的文档出现时一样。所以最好的处理方法是默认映射类型。因为我不必为每个类型定义映射。但现在我无法更新我的索引默认映射。如果可能的话,请告诉我?
当我尝试更新我的索引,并添加一个从方法copy_to创建的新字段(见http://pastebin.com/T7GcHSXj)时,我得到了这个我不明白的错误: “error”:“MapperParsingException[解析后根类型映射不为空!其余字段:[映射:{tInfoclient={properties={Client={properties={d\u naiss\u cli={type
我遵循Microsoft的指导,通过Azure ADB2C启用Dynamics Portal访问。基础设施已经启动并运行良好。我使用的是"登录"政策。但是,我在声明映射功能上遇到了麻烦。 我已经根据下面链接的文档中的说明配置了以下站点设置。 身份验证/OpenIdConnect/B2C/RegistrationClaimsMapping身份验证/OpenIdConnect/B2C/LoginCla