摘要:重新索引要求为源索引中的所有文档启用。重新索引不会尝试设置目标索引,它不会复制源索引的设置,你应该在运行操作之前设置目标索引,包括设置映射碎片数副本等。
Reindex API
重新索引要求为源索引中的所有文档启用_source。
重新索引不会尝试设置目标索引,它不会复制源索引的设置,你应该在运行_reindex操作之前设置目标索引,包括设置映射、碎片数、副本等。
_reindex的最基本形式只是将文档从一个索引复制到另一个索引,这会将twitter索引中的文档复制到new_twitter索引中:
POST _reindex { "source": { "index": "twitter" }, "dest": { "index": "new_twitter" } }
这将返回如下内容:
{ "took" : 147, "timed_out": false, "created": 120, "updated": 0, "deleted": 0, "batches": 1, "version_conflicts": 0, "noops": 0, "retries": { "bulk": 0, "search": 0 }, "throttled_millis": 0, "requests_per_second": -1.0, "throttled_until_millis": 0, "total": 120, "failures" : [ ] }
就像_update_by_query一样,_reindex获取源索引的快照,但其目标必须是不同的索引,因此版本冲突不太可能,dest元素可以像索引API一样配置,以控制乐观并发控制。只是省略version_type(如上所述)或将其设置为internal将导致Elasticsearch盲目地将文档转储到目标中,覆盖任何碰巧具有相同类型和id的文档:
POST _reindex { "source": { "index": "twitter" }, "dest": { "index": "new_twitter", "version_type": "internal" } }
将version_type设置为external将导致Elasticsearch保留源中的version,创建缺少的任何文档,并更新目标索引中具有旧版本的文档而不是源索引中的任何文档:
POST _reindex { "source": { "index": "twitter" }, "dest": { "index": "new_twitter", "version_type": "external" } }
设置op_type为create将导致_reindex仅在目标索引中创建缺少的文档,所有现有文档都会导致版本冲突:
POST _reindex { "source": { "index": "twitter" }, "dest": { "index": "new_twitter", "op_type": "create" } }
默认情况下,版本冲突会中止_reindex进程,但你可以在请求体中设置"conflicts": "proceed"即可计算:
POST _reindex { "conflicts": "proceed", "source": { "index": "twitter" }, "dest": { "index": "new_twitter", "op_type": "create" } }
你可以通过向source添加类型或添加查询来限制文档,这个只会将kimchy写的推文复制到new_twitter中:
POST _reindex { "source": { "index": "twitter", "type": "_doc", "query": { "term": { "user": "kimchy" } } }, "dest": { "index": "new_twitter" } }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/34354.html
摘要:要升级包含在中创建的索引的集群,必须在升级到之前重新索引或删除它们。将和重置为旧索引中使用的值。等待索引状态变为。在单个更新别名请求中删除旧索引。当重新索引作业完成时,将和设置为所需的值默认设置是和。 升级前重新索引 Elasticsearch可以读取上一个主要版本中创建的索引,旧的索引必须重新索引或删除。Elasticsearch 6.x可以使用Elasticsearch 5.x中创...
摘要:为了防止用户覆盖中指定的索引,将此设置添加到文件中默认值为,但当设置为时,将拒绝在请求体中指定的显式索引的请求。所有都是单索引,参数接受单个索引名,或指向单个索引的别名。查询子句的行为取决于它们是用于查询上下文还是过滤器上下文。 Elasticsearch 参考指南 Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎,它允许你快速,近实时地存储,搜索和分析大量数据,它通...
摘要:至少需要,特别是在撰写本文时,建议你使用版本,安装因平台而异,因此我们不会在此处详细介绍。对于每个版本,你可以选择或存档,或包或安装包。使用安装示例为了简单起见,我们使用文件。 安装 你可以通过在Elastic Cloud上使用我们托管的Elasticsearch Service完全跳过安装,Elastic Cloud可在AWS和GCP上使用,你可以免费试用托管服务。 Elastics...
摘要:对于分片数的大小,业界一致认为分片数的多少与内存挂钩,认为堆内存对应个分片,而一个分片的大小不要超过,这样的配置有助于集群的健康。 大家好,我是皮蛋二哥。 ELK是 ElasticSearch、Logstash、Kibana 三门技术的简称。如今 ELK 技术栈在互联网行业数据开发领域使用率越来越高,做过数据收集、数据开发、数据存储的同学相信对这个简称并不陌生,而ElasticSear...
ElasticSearch索引跨集群迁移 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; ...
阅读 3315·2021-11-18 10:02
阅读 733·2021-09-04 16:48
阅读 1813·2019-08-30 15:55
阅读 3402·2019-08-30 15:52
阅读 1640·2019-08-30 14:08
阅读 3369·2019-08-30 13:19
阅读 998·2019-08-27 10:53
阅读 2941·2019-08-26 12:11