【问题标题】:How to change change Kibana saved search (Discover) with a REST request?如何使用 REST 请求更改 Kibana 保存的搜索(发现)?
【发布时间】:2017-05-15 20:27:25
【问题描述】:

我有在 Kibana 中搜索特定事件的查询,此查询保存在其他搜索中,有没有办法可以通过例如 REST 调用以编程方式更改它?

【问题讨论】:

    标签: rest elasticsearch kibana


    【解决方案1】:

    正如@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 的以下警告消息:

    谨慎行事!

    修改对象仅适用于高级用户。对象属性是 未经验证和无效的对象可能会导致错误、数据丢失或 更差。除非熟悉代码的人告诉你 在这里,你可能不应该在这里。

    【讨论】:

      【解决方案2】:

      所有内容都存储在 .kibana 索引中,您可以通过 put request 将您的设置更新到 elasticsearch,但不建议这样做。
      您可以在kibana/settings/objects 中编辑您保存的搜索。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-27
        • 2012-09-09
        • 2023-03-14
        • 1970-01-01
        • 1970-01-01
        • 2013-03-06
        相关资源
        最近更新 更多