【问题标题】:Elasticsearch Reindex or Flag Deleted Type PropertyElasticsearch 重新索引或标记已删除类型属性
【发布时间】:2013-04-16 02:38:28
【问题描述】:

这与我在这里的原始问题有关: Elasticsearch Delete Mapping Property

从该帖子中假设您将不得不“重新索引”您的数据。这样做的安全策略是什么?

总结原始帖子,我试图从以下位置获取映射:

{
  "propVal1": {
    "type": "double",
    "index": "analyzed"
  },
  "propVal2": {
    "type": "string",
    "analyzer": "keyword"
  },
  "propVal3": {
    "type": "string",
    "analyzer": "keyword"
  }
}

到这里:

{
  "propVal1": {
    "type": "double",
    "index": "analyzed"
  },
  "propVal2": {
    "type": "string",
    "analyzer": "keyword"
  }
}

正在删除已删除属性的所有数据。

我一直在考虑为此使用 REST API。这似乎很危险,因为您需要将状态与进行 REST 调用的客户端应用程序同步,即您需要将所有文档发送给客户端,修改它们,然后将它们发回。

如果有一个服务器端操作可以移动和转换类型,那将是理想的。是否存在这样的事情,或者我在“重新索引”时遗漏了一些明显的东西?

另一种方法是将数据标记为不再有效。就映射而言,是否有任何内置标志,或者是否有必要创建一个辅助类型来定义另一个类型属性是否有效?

【问题讨论】:

    标签: json rest lucene elasticsearch


    【解决方案1】:

    您可以查看elasticsearch-reindex plugin。 更手动的操作可能是使用扫描和滚动 API 来取回您的原始内容并使用批量 API 将其索引到新的索引或类型中。

    最后一个答案,您是如何在 Elasticsearch 中获取文档的?如果您在某处已经有数据源,只需使用与以前相同的过程即可。 如果您不想停机,请在旧索引之上使用别名,一旦重新索引完成,只需将别名移动到新索引。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-21
    • 1970-01-01
    • 1970-01-01
    • 2021-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多