【问题标题】:Does updating Elasticsearch indices requires updating Kibana index pattern?更新 Elasticsearch 索引是否需要更新 Kibana 索引模式?
【发布时间】:2019-01-27 14:38:16
【问题描述】:

我使用 Elasticsearch 和 Kibana 作为插件来查看索引中的数据。我正在使用 Kibana 的 DevTools 发送添加/删除/更新索引等命令。

我想向某个文本属性添加一个字段,以便它有一个关键字字段,以便能够使用该属性进行全文搜索和聚合。

1) 这样的更改是否意味着我也需要更新 Kibana 的索引模式?

2) 我已经阅读了PUT Mappings 上的 ElasticSearch 文档,并且知道如何使用它来更新索引本身,但我不知道如何更新索引模式。我阅读了应该使用相同的 API更新它,但我不知道如何查看索引模式的原始映射以更新它。

【问题讨论】:

    标签: elasticsearch kibana elasticsearch-indices


    【解决方案1】:
    1. 是的,如果你在ES中改变了索引映射,那么你需要进入Kibana并刷新相关的索引模式。

    2. 现在,您需要进入 Kibana (Management > Index patterns),选择索引模式,然后按窗口右上角的“刷新”按钮以获取映射更改。

    另外请注意,如果您更新了一些 text 字段以获得 keyword 子字段,您还需要在索引上调用 _update_by_query API 以便重新索引所有您的更改字段文件

    【讨论】:

    • 如果只需要刷新索引模式,那么为什么 Kibana 本身会说(如果我理解正确的话)您需要使用映射 API 来更新它?为了让 Kibana 识别索引,我需要创建一个完整的索引模式似乎很奇怪,但是当我更改它时,我可以简单地刷新它并获取更改?
    • 关于 update_by_query,我不确定它到底做了什么。我假设对于一个新字段,它会简单地将与属性中相同的值添加到我的字段中?但我不明白如果我在添加新属性后运行它会发生什么 - 如果它是一个没有价值的新属性,它究竟需要更新什么?
    • 起初你只有text字段,所以当你索引你的文档时,该字段的数据根据​​text字段的规则被索引。然后您更新了映射以添加 keyword 子字段,但您现有的所有数据尚未根据该新关键字字段的规则建立索引。为此,您需要调用 update_by_query 并且所有现有数据将根据 text AND keyword 字段的规则正确重新索引。
    • 我已经更新了索引并重新加载了索引模式。当我尝试通过查询命令运行更新时,我收到错误代码 504 - 网关超时。我读到更长的超时时间可能会解决这个问题。您知道此操作的适当超时时间是多少吗?
    猜你喜欢
    • 2016-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-11
    • 1970-01-01
    相关资源
    最近更新 更多