在ElasticSearch中,是否可以对索引模板进行部分更新?
例如,我尝试仅使用以下内容更改默认分析器(使用 Sense):
PUT /_template/testtemplate/_update
{
"settings": {
"index":{
"analysis": {
"analyzer": {
"default": {
"type": "whitespace"
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用,我收到一条错误消息Invalid index name [_template], must not start with '_': .
我是否必须使用 PUT 再次传递完整模板,或者是否有其他方法可以进行部分更新?
部分更新仅适用于文档(并且在某种程度上适用于映射类型),不适用于索引模板。因此,我确认您需要再次存储完整的索引模板,而不仅仅是要更新的一小部分。
正如您在 的源代码中看到的RestUpdateAction.java,_updateREST 端点需要一个{index}名称、一个{type}名称和一个{id}. 因此,在上面的示例中,该端点认为这_template是一个索引名称并抱怨。
同样,在用于创建索引模板的 REST 端点中,RestPutIndexTemplateAction.java您可以看到该路径根本_template不支持该端点。_update
| 归档时间: |
|
| 查看次数: |
2070 次 |
| 最近记录: |