【发布时间】:2017-05-15 20:27:25
【问题描述】:
我有在 Kibana 中搜索特定事件的查询,此查询保存在其他搜索中,有没有办法可以通过例如 REST 调用以编程方式更改它?
【问题讨论】:
标签: rest elasticsearch kibana
我有在 Kibana 中搜索特定事件的查询,此查询保存在其他搜索中,有没有办法可以通过例如 REST 调用以编程方式更改它?
【问题讨论】:
标签: rest elasticsearch kibana
正如@Mohammad 所说,所有与Kibana 相关的元数据都存储在elasticsearch 集群中的.kibana 索引下。所有搜索、可视化、仪表板都以各自的类型存储在.kibana 索引中。例如,搜索存储在search 下,输入.kibana 索引。
通过执行以下命令获取所有搜索:
GET /.kibana/search/_search
{
"query": {
"match_all": {}
}
}
从上述结果中检索您要为其更新查询的search-id。
现在您可以使用_update API 更新特定的search 文档,如下所示:
POST /.kibana/search/<search-id>/_update
{
"doc" : {
"kibanaSavedObjectMeta":{ "searchSourceJSON": """{"index":"test-*","query":{"query_string":{"query":"id:2","analyze_wildcard":true}},"filter":[],"highlight":{"pre_tags":["@kibana-highlighted-field@"],"post_tags":["@/kibana-highlighted-field@"],"fields":{"*":{}},"require_field_match":false,"fragment_size":2147483647}}"""
}
}
}
如果您不是高级用户,请考虑来自 Kibana 的以下警告消息:
谨慎行事!
修改对象仅适用于高级用户。对象属性是 未经验证和无效的对象可能会导致错误、数据丢失或 更差。除非熟悉代码的人告诉你 在这里,你可能不应该在这里。
【讨论】:
所有内容都存储在 .kibana 索引中,您可以通过 put request 将您的设置更新到 elasticsearch,但不建议这样做。
您可以在kibana/settings/objects 中编辑您保存的搜索。
【讨论】: