From 18808b7576395d391ccd062e22b1f62de2c5c846 Mon Sep 17 00:00:00 2001 From: Nik Everett Date: Thu, 11 Feb 2016 16:27:15 -0500 Subject: [PATCH] Move reindex from a plugin to a module --- docs/plugins/api.asciidoc | 5 - .../docs}/reindex.asciidoc | 329 ++-------------- docs/reference/docs/update-by-query.asciidoc | 358 ++++++++++++++++++ {plugins => modules}/reindex/build.gradle | 2 +- .../AbstractAsyncBulkByScrollAction.java | 4 +- .../AbstractAsyncBulkIndexByScrollAction.java | 2 +- .../AbstractBaseReindexRestHandler.java | 2 +- .../reindex/AbstractBulkByScrollRequest.java | 2 +- .../AbstractBulkByScrollRequestBuilder.java | 2 +- .../AbstractBulkIndexByScrollRequest.java | 2 +- ...stractBulkIndexByScrollRequestBuilder.java | 2 +- .../index}/reindex/BulkByScrollTask.java | 2 +- .../reindex/BulkIndexByScrollResponse.java | 2 +- ...kIndexByScrollResponseContentListener.java | 2 +- .../index}/reindex/ReindexAction.java | 2 +- .../index}/reindex/ReindexPlugin.java | 4 +- .../index}/reindex/ReindexRequest.java | 2 +- .../index}/reindex/ReindexRequestBuilder.java | 2 +- .../index}/reindex/ReindexResponse.java | 4 +- .../index}/reindex/RestReindexAction.java | 2 +- .../reindex/RestUpdateByQueryAction.java | 6 +- .../reindex/TransportReindexAction.java | 2 +- .../reindex/TransportUpdateByQueryAction.java | 2 +- .../index}/reindex/UpdateByQueryAction.java | 2 +- .../index}/reindex/UpdateByQueryRequest.java | 2 +- .../reindex/UpdateByQueryRequestBuilder.java | 2 +- ...BulkIndexByScrollActionScriptTestCase.java | 2 +- ...tAsyncBulkIndexByScrollActionTestCase.java | 2 +- ...lkIndexbyScrollActionMetadataTestCase.java | 2 +- ...tractBulkIndexByScrollResponseMatcher.java | 2 +- .../reindex/AsyncBulkByScrollActionTests.java | 2 +- .../index}/reindex/BulkByScrollTaskTests.java | 2 +- .../index}/reindex/CancelTestUtils.java | 2 +- .../index}/reindex/ReindexBasicTests.java | 2 +- .../index}/reindex/ReindexCancelTests.java | 2 +- .../index}/reindex/ReindexFailureTests.java | 2 +- .../index}/reindex/ReindexMetadataTests.java | 2 +- .../reindex/ReindexParentChildTests.java | 2 +- .../index}/reindex/ReindexRestIT.java | 2 +- .../index}/reindex/ReindexSameIndexTests.java | 2 +- .../index}/reindex/ReindexScriptTests.java | 2 +- .../index}/reindex/ReindexTestCase.java | 2 +- .../reindex/ReindexVersioningTests.java | 2 +- .../index}/reindex/RoundTripTests.java | 2 +- .../reindex/SimpleExecutableScript.java | 2 +- .../reindex/UpdateByQueryBasicTests.java | 2 +- .../reindex/UpdateByQueryCancelTests.java | 2 +- .../reindex/UpdateByQueryMetadataTests.java | 2 +- .../index}/reindex/UpdateByQueryTestCase.java | 2 +- .../UpdateByQueryWhileModifyingTests.java | 2 +- .../reindex/UpdateByQueryWithScriptTests.java | 2 +- .../rest-api-spec/test/reindex/10_basic.yaml | 0 .../test/reindex/20_validation.yaml | 0 .../rest-api-spec/test/reindex/30_search.yaml | 0 .../test/reindex/40_versioning.yaml | 0 .../test/reindex/50_routing.yaml | 0 .../test/reindex/60_consistency.yaml | 0 .../test/update-by-query/10_basic.yaml | 0 .../test/update-by-query/20_validation.yaml | 0 .../test/update-by-query/30_new_fields.yaml | 0 .../test/update-by-query/40_versioning.yaml | 0 .../test/update-by-query/50_consistency.yaml | 0 .../build.gradle | 1 - .../resources/rest-api-spec/api/reindex.json | 0 .../rest-api-spec/api/update-by-query.json | 0 settings.gradle | 2 +- 66 files changed, 434 insertions(+), 367 deletions(-) rename docs/{plugins => reference/docs}/reindex.asciidoc (53%) create mode 100644 docs/reference/docs/update-by-query.asciidoc rename {plugins => modules}/reindex/build.gradle (93%) rename {plugins/reindex/src/main/java/org/elasticsearch/plugin => modules/reindex/src/main/java/org/elasticsearch/index}/reindex/AbstractAsyncBulkByScrollAction.java (99%) rename {plugins/reindex/src/main/java/org/elasticsearch/plugin => modules/reindex/src/main/java/org/elasticsearch/index}/reindex/AbstractAsyncBulkIndexByScrollAction.java (99%) rename {plugins/reindex/src/main/java/org/elasticsearch/plugin => modules/reindex/src/main/java/org/elasticsearch/index}/reindex/AbstractBaseReindexRestHandler.java (98%) rename {plugins/reindex/src/main/java/org/elasticsearch/plugin => modules/reindex/src/main/java/org/elasticsearch/index}/reindex/AbstractBulkByScrollRequest.java (99%) rename {plugins/reindex/src/main/java/org/elasticsearch/plugin => modules/reindex/src/main/java/org/elasticsearch/index}/reindex/AbstractBulkByScrollRequestBuilder.java (98%) rename {plugins/reindex/src/main/java/org/elasticsearch/plugin => modules/reindex/src/main/java/org/elasticsearch/index}/reindex/AbstractBulkIndexByScrollRequest.java (98%) rename {plugins/reindex/src/main/java/org/elasticsearch/plugin => modules/reindex/src/main/java/org/elasticsearch/index}/reindex/AbstractBulkIndexByScrollRequestBuilder.java (97%) rename {plugins/reindex/src/main/java/org/elasticsearch/plugin => modules/reindex/src/main/java/org/elasticsearch/index}/reindex/BulkByScrollTask.java (99%) rename {plugins/reindex/src/main/java/org/elasticsearch/plugin => modules/reindex/src/main/java/org/elasticsearch/index}/reindex/BulkIndexByScrollResponse.java (99%) rename {plugins/reindex/src/main/java/org/elasticsearch/plugin => modules/reindex/src/main/java/org/elasticsearch/index}/reindex/BulkIndexByScrollResponseContentListener.java (97%) rename {plugins/reindex/src/main/java/org/elasticsearch/plugin => modules/reindex/src/main/java/org/elasticsearch/index}/reindex/ReindexAction.java (97%) rename {plugins/reindex/src/main/java/org/elasticsearch/plugin => modules/reindex/src/main/java/org/elasticsearch/index}/reindex/ReindexPlugin.java (93%) rename {plugins/reindex/src/main/java/org/elasticsearch/plugin => modules/reindex/src/main/java/org/elasticsearch/index}/reindex/ReindexRequest.java (99%) rename {plugins/reindex/src/main/java/org/elasticsearch/plugin => modules/reindex/src/main/java/org/elasticsearch/index}/reindex/ReindexRequestBuilder.java (98%) rename {plugins/reindex/src/main/java/org/elasticsearch/plugin => modules/reindex/src/main/java/org/elasticsearch/index}/reindex/ReindexResponse.java (95%) rename {plugins/reindex/src/main/java/org/elasticsearch/plugin => modules/reindex/src/main/java/org/elasticsearch/index}/reindex/RestReindexAction.java (99%) rename {plugins/reindex/src/main/java/org/elasticsearch/plugin => modules/reindex/src/main/java/org/elasticsearch/index}/reindex/RestUpdateByQueryAction.java (95%) rename {plugins/reindex/src/main/java/org/elasticsearch/plugin => modules/reindex/src/main/java/org/elasticsearch/index}/reindex/TransportReindexAction.java (99%) rename {plugins/reindex/src/main/java/org/elasticsearch/plugin => modules/reindex/src/main/java/org/elasticsearch/index}/reindex/TransportUpdateByQueryAction.java (99%) rename {plugins/reindex/src/main/java/org/elasticsearch/plugin => modules/reindex/src/main/java/org/elasticsearch/index}/reindex/UpdateByQueryAction.java (97%) rename {plugins/reindex/src/main/java/org/elasticsearch/plugin => modules/reindex/src/main/java/org/elasticsearch/index}/reindex/UpdateByQueryRequest.java (97%) rename {plugins/reindex/src/main/java/org/elasticsearch/plugin => modules/reindex/src/main/java/org/elasticsearch/index}/reindex/UpdateByQueryRequestBuilder.java (97%) rename {plugins/reindex/src/test/java/org/elasticsearch/plugin => modules/reindex/src/test/java/org/elasticsearch/index}/reindex/AbstractAsyncBulkIndexByScrollActionScriptTestCase.java (98%) rename {plugins/reindex/src/test/java/org/elasticsearch/plugin => modules/reindex/src/test/java/org/elasticsearch/index}/reindex/AbstractAsyncBulkIndexByScrollActionTestCase.java (97%) rename {plugins/reindex/src/test/java/org/elasticsearch/plugin => modules/reindex/src/test/java/org/elasticsearch/index}/reindex/AbstractAsyncBulkIndexbyScrollActionMetadataTestCase.java (98%) rename {plugins/reindex/src/test/java/org/elasticsearch/plugin => modules/reindex/src/test/java/org/elasticsearch/index}/reindex/AbstractBulkIndexByScrollResponseMatcher.java (99%) rename {plugins/reindex/src/test/java/org/elasticsearch/plugin => modules/reindex/src/test/java/org/elasticsearch/index}/reindex/AsyncBulkByScrollActionTests.java (99%) rename {plugins/reindex/src/test/java/org/elasticsearch/plugin => modules/reindex/src/test/java/org/elasticsearch/index}/reindex/BulkByScrollTaskTests.java (99%) rename {plugins/reindex/src/test/java/org/elasticsearch/plugin => modules/reindex/src/test/java/org/elasticsearch/index}/reindex/CancelTestUtils.java (99%) rename {plugins/reindex/src/test/java/org/elasticsearch/plugin => modules/reindex/src/test/java/org/elasticsearch/index}/reindex/ReindexBasicTests.java (99%) rename {plugins/reindex/src/test/java/org/elasticsearch/plugin => modules/reindex/src/test/java/org/elasticsearch/index}/reindex/ReindexCancelTests.java (97%) rename {plugins/reindex/src/test/java/org/elasticsearch/plugin => modules/reindex/src/test/java/org/elasticsearch/index}/reindex/ReindexFailureTests.java (99%) rename {plugins/reindex/src/test/java/org/elasticsearch/plugin => modules/reindex/src/test/java/org/elasticsearch/index}/reindex/ReindexMetadataTests.java (98%) rename {plugins/reindex/src/test/java/org/elasticsearch/plugin => modules/reindex/src/test/java/org/elasticsearch/index}/reindex/ReindexParentChildTests.java (99%) rename {plugins/reindex/src/test/java/org/elasticsearch/plugin => modules/reindex/src/test/java/org/elasticsearch/index}/reindex/ReindexRestIT.java (97%) rename {plugins/reindex/src/test/java/org/elasticsearch/plugin => modules/reindex/src/test/java/org/elasticsearch/index}/reindex/ReindexSameIndexTests.java (99%) rename {plugins/reindex/src/test/java/org/elasticsearch/plugin => modules/reindex/src/test/java/org/elasticsearch/index}/reindex/ReindexScriptTests.java (99%) rename {plugins/reindex/src/test/java/org/elasticsearch/plugin => modules/reindex/src/test/java/org/elasticsearch/index}/reindex/ReindexTestCase.java (98%) rename {plugins/reindex/src/test/java/org/elasticsearch/plugin => modules/reindex/src/test/java/org/elasticsearch/index}/reindex/ReindexVersioningTests.java (99%) rename {plugins/reindex/src/test/java/org/elasticsearch/plugin => modules/reindex/src/test/java/org/elasticsearch/index}/reindex/RoundTripTests.java (99%) rename {plugins/reindex/src/test/java/org/elasticsearch/plugin => modules/reindex/src/test/java/org/elasticsearch/index}/reindex/SimpleExecutableScript.java (97%) rename {plugins/reindex/src/test/java/org/elasticsearch/plugin => modules/reindex/src/test/java/org/elasticsearch/index}/reindex/UpdateByQueryBasicTests.java (99%) rename {plugins/reindex/src/test/java/org/elasticsearch/plugin => modules/reindex/src/test/java/org/elasticsearch/index}/reindex/UpdateByQueryCancelTests.java (98%) rename {plugins/reindex/src/test/java/org/elasticsearch/plugin => modules/reindex/src/test/java/org/elasticsearch/index}/reindex/UpdateByQueryMetadataTests.java (97%) rename {plugins/reindex/src/test/java/org/elasticsearch/plugin => modules/reindex/src/test/java/org/elasticsearch/index}/reindex/UpdateByQueryTestCase.java (97%) rename {plugins/reindex/src/test/java/org/elasticsearch/plugin => modules/reindex/src/test/java/org/elasticsearch/index}/reindex/UpdateByQueryWhileModifyingTests.java (99%) rename {plugins/reindex/src/test/java/org/elasticsearch/plugin => modules/reindex/src/test/java/org/elasticsearch/index}/reindex/UpdateByQueryWithScriptTests.java (98%) rename {plugins => modules}/reindex/src/test/resources/rest-api-spec/test/reindex/10_basic.yaml (100%) rename {plugins => modules}/reindex/src/test/resources/rest-api-spec/test/reindex/20_validation.yaml (100%) rename {plugins => modules}/reindex/src/test/resources/rest-api-spec/test/reindex/30_search.yaml (100%) rename {plugins => modules}/reindex/src/test/resources/rest-api-spec/test/reindex/40_versioning.yaml (100%) rename {plugins => modules}/reindex/src/test/resources/rest-api-spec/test/reindex/50_routing.yaml (100%) rename {plugins => modules}/reindex/src/test/resources/rest-api-spec/test/reindex/60_consistency.yaml (100%) rename {plugins => modules}/reindex/src/test/resources/rest-api-spec/test/update-by-query/10_basic.yaml (100%) rename {plugins => modules}/reindex/src/test/resources/rest-api-spec/test/update-by-query/20_validation.yaml (100%) rename {plugins => modules}/reindex/src/test/resources/rest-api-spec/test/update-by-query/30_new_fields.yaml (100%) rename {plugins => modules}/reindex/src/test/resources/rest-api-spec/test/update-by-query/40_versioning.yaml (100%) rename {plugins => modules}/reindex/src/test/resources/rest-api-spec/test/update-by-query/50_consistency.yaml (100%) rename {plugins/reindex/src/test => rest-api-spec/src/main}/resources/rest-api-spec/api/reindex.json (100%) rename {plugins/reindex/src/test => rest-api-spec/src/main}/resources/rest-api-spec/api/update-by-query.json (100%) diff --git a/docs/plugins/api.asciidoc b/docs/plugins/api.asciidoc index 8be351d5de9..7ac0cdee834 100644 --- a/docs/plugins/api.asciidoc +++ b/docs/plugins/api.asciidoc @@ -15,11 +15,6 @@ The delete by query plugin adds support for deleting all of the documents replacement for the problematic _delete-by-query_ functionality which has been removed from Elasticsearch core. -<>:: - -The Reindex plugin adds support for updating documents matching a query and -copying documents from one index to another. - [float] === Community contributed API extension plugins diff --git a/docs/plugins/reindex.asciidoc b/docs/reference/docs/reindex.asciidoc similarity index 53% rename from docs/plugins/reindex.asciidoc rename to docs/reference/docs/reindex.asciidoc index 319da504e26..541e05dedc3 100644 --- a/docs/plugins/reindex.asciidoc +++ b/docs/reference/docs/reindex.asciidoc @@ -1,183 +1,5 @@ -[[plugins-reindex]] -=== Reindex Plugin - -The reindex plugin adds two APIs: - -* `_update_by_query` updates all documents matching a query in place. -* `_reindex` copies documents from one index to another. - -These APIs are siblings so they live in the same plugin. Both use -{ref}/search-request-scroll.html[Scroll] and {ref}/docs-bulk.html[Bulk] APIs -to send an index request per document. There are potential shortcuts that could -speed this process so this plugin may change how this is done in the future. - -[float] -==== Installation - -This plugin can be installed using the plugin manager: - -[source,sh] ----------------------------------------------------------------- -sudo bin/plugin install reindex ----------------------------------------------------------------- - -The plugin must be installed on every node in the cluster, and each node must -be restarted after installation. - -[float] -==== Removal - -The plugin can be removed with the following command: - -[source,sh] ----------------------------------------------------------------- -sudo bin/plugin remove reindex ----------------------------------------------------------------- - -The node must be stopped before removing the plugin. - -[[update-by-query-usage]] -==== Using `_update_by_query` - -The simplest usage of `_update_by_query` just performs an update on every -document in the index without changing the source. This is useful to -<> or some other online -mapping change. Here is the API: - -[source,js] --------------------------------------------------- -POST /twitter/_update_by_query?conflicts=proceed --------------------------------------------------- -// AUTOSENSE - -That will return something like this: - -[source,js] --------------------------------------------------- -{ - "took" : 639, - "updated": 1235, - "batches": 13, - "version_conflicts": 2, - "failures" : [ ] -} --------------------------------------------------- - -`_update_by_query` gets a snapshot of the index when it starts and indexes what -it finds using `internal` versioning. That means that you'll get a version -conflict if the document changes between the time when the snapshot was taken -and when the index request is processed. When the versions match the document -is updated and the version number is incremented. - -All update and query failures cause the `_update_by_query` to abort and are -returned in the `failures` of the response. The updates that have been -performed still stick. In other words, the process is not rolled back, only -aborted. While the first failure causes the abort all failures that are -returned by the failing bulk request are returned in the `failures` element so -it's possible for there to be quite a few. - -If you want to simply count version conflicts not cause the `_update_by_query` -to abort you can set `conflicts=proceed` on the url or `"conflicts": "proceed"` -in the request body. The first example does this because it is just trying to -pick up an online mapping change and a version conflict simply means that the -conflicting document was updated between the start of the `_update_by_query` -and the time when it attempted to update the document. This is fine because -that update will have picked up the online mapping update. - -Back to the API format, you can limit `_update_by_query` to a single type. This -will only update `tweet`s from the `twitter` index: - -[source,js] --------------------------------------------------- -POST /twitter/tweet/_update_by_query?conflicts=proceed --------------------------------------------------- -// AUTOSENSE - -You can also limit `_update_by_query` using the -{ref}/query-dsl.html[Query DSL]. This will update all documents from the -`twitter` index for the user `kimchy`: - -[source,js] --------------------------------------------------- -POST /twitter/_update_by_query?conflicts=proceed -{ - "query": { <1> - "term": { - "user": "kimchy" - } - } -} --------------------------------------------------- -// AUTOSENSE - -<1> The query must be passed as a value to the `query` key, in the same -way as the {ref}/search-search.html[Search API]. You can also use the `q` -parameter in the same way as the search api. - -So far we've only been updating documents without changing their source. That -is genuinely useful for things like -<> but it's only half the -fun. `_update_by_query` supports a `script` object to update the document. This -will increment the `likes` field on all of kimchy's tweets: -[source,js] --------------------------------------------------- -POST /twitter/_update_by_query -{ - "script": { - "inline": "ctx._source.likes++" - }, - "query": { - "term": { - "user": "kimchy" - } - } -} --------------------------------------------------- -// AUTOSENSE - -Just as in {ref}/docs-update.html[Update API] you can set `ctx.op = "noop"` if -your script decides that it doesn't have to make any changes. That will cause -`_update_by_query` to omit that document from its updates. Setting `ctx.op` to -anything else is an error. If you want to delete by a query you can use the -<> instead. Setting any other -field in `ctx` is an error. - -Note that we stopped specifying `conflicts=proceed`. In this case we want a -version conflict to abort the process so we can handle the failure. - -This API doesn't allow you to move the documents it touches, just modify their -source. This is intentional! We've made no provisions for removing the document -from its original location. - -It's also possible to do this whole thing on multiple indexes and multiple -types at once, just like the search API: - -[source,js] --------------------------------------------------- -POST /twitter,blog/tweet,post/_update_by_query --------------------------------------------------- -// AUTOSENSE - -If you provide `routing` then the routing is copied to the scroll query, -limiting the process to the shards that match that routing value: - -[source,js] --------------------------------------------------- -POST /twitter/_update_by_query?routing=1 --------------------------------------------------- -// AUTOSENSE - -By default `_update_by_query` uses scroll batches of 100. You can change the -batch size with the `scroll_size` URL parameter: - -[source,js] --------------------------------------------------- -POST /twitter/_update_by_query?scroll_size=1000 --------------------------------------------------- -// AUTOSENSE - -[[reindex-usage]] -==== Using `_reindex` +[[docs-reindex]] +==== Reindex API `_reindex`'s most basic form just copies documents from one index to another. This will copy documents from `twitter` into `new_twitter`: @@ -459,8 +281,8 @@ POST /_reindex [float] === URL Parameters -In addition to the standard parameters like `pretty`, all APIs in this plugin -support `refresh`, `wait_for_completion`, `consistency`, and `timeout`. +In addition to the standard parameters like `pretty`, the Reindex API also +supports `refresh`, `wait_for_completion`, `consistency`, and `timeout`. Sending the `refresh` url parameter will cause all indexes to which the request wrote to be refreshed. This is different than the Index API's `refresh` @@ -468,10 +290,10 @@ parameter which causes just the shard that received the new data to be indexed. If the request contains `wait_for_completion=false` then Elasticsearch will perform some preflight checks, launch the request, and then return a `task` -which can be used with {ref}/tasks.html[Tasks APIs] to cancel or get the status -of the task. For now, once the request is finished the task is gone and the -only place to look for the ultimate result of the task is in the Elasticsearch -log file. This will be fixed soon. +which can be used with <> to cancel or get +the status of the task. For now, once the request is finished the task is gone +and the only place to look for the ultimate result of the task is in the +Elasticsearch log file. This will be fixed soon. `consistency` controls how many copies of a shard must respond to each write request. `timeout` controls how long each write request waits for unavailable @@ -491,10 +313,10 @@ The JSON response looks like this: { "took" : 639, "updated": 0, + "created": 123, "batches": 1, "version_conflicts": 2, "failures" : [ ] - "created": 123, } -------------------------------------------------- @@ -506,14 +328,17 @@ The number of milliseconds from start to end of the whole operation. The number of documents that were successfully updated. +`created`:: + +The number of documents that were successfully created. + `batches`:: -The number of scroll responses pulled back by the the `_reindex` or -`_update_by_query`. +The number of scroll responses pulled back by the the reindex. `version_conflicts`:: -The number of version conflicts that the `_reindex_` or `_update_by_query` hit. +The number of version conflicts that reindex hit. `failures`:: @@ -521,28 +346,16 @@ Array of all indexing failures. If this is non-empty then the request aborted because of those failures. See `conflicts` for how to prevent version conflicts from aborting the operation. -`created`:: - -The number of documents that were successfully created. This is not returned by -`_update_by_query` because it isn't allowed to create documents. - [float] -=== Response body +[[docs-reindex-task-api]] +=== Works with the Task API -While `_reindex` and `_update_by_query` are running you can fetch their status -using the {ref}/task/list.html[Task List APIs]. This will fetch `_reindex`: +While Reindex is running you can fetch their status using the +{ref}/task/list.html[Task List APIs]: [source,js] -------------------------------------------------- -POST /_tasks/*/*reindex?pretty&detailed=true --------------------------------------------------- -// AUTOSENSE - -and this will fetch `_update_by_query`: - -[source,js] --------------------------------------------------- -POST /_tasks/*/*byquery?pretty&detailed=true +POST /_tasks/?pretty&detailed=true&actions=*reindex -------------------------------------------------- // AUTOSENSE @@ -565,7 +378,7 @@ The responses looks like: "node" : "r1A2WoRbTwKZ516z6NEs5A", "id" : 36619, "type" : "transport", - "action" : "indices:data/write/update/byquery", + "action" : "indices:data/write/reindex", "status" : { <1> "total" : 6154, "updated" : 3500, @@ -575,7 +388,7 @@ The responses looks like: "version_conflicts" : 0, "noops" : 0 }, - "description" : "update-by-query [test][test]" + "description" : "" } ] } } @@ -592,104 +405,6 @@ will finish when their sum is equal to the `total` field. [float] === Examples -Below are some examples of how you might use this plugin: - -[[picking-up-a-new-property]] -==== Pick up a new property - -Say you created an index without dynamic mapping, filled it with data, and then -added a mapping value to pick up more fields from the data: - -[source,js] --------------------------------------------------- -PUT test -{ - "mappings": { - "test": { - "dynamic": false, <1> - "properties": { - "text": {"type": "string"} - } - } - } -} - -POST test/test?refresh -{ - "text": "words words", - "flag": "bar" -}' -POST test/test?refresh -{ - "text": "words words", - "flag": "foo" -}' -PUT test/_mapping/test <2> -{ - "properties": { - "text": {"type": "string"}, - "flag": {"type": "string", "analyzer": "keyword"} - } -} --------------------------------------------------- -// AUTOSENSE - -<1> This means that new fields won't be indexed, just stored in `_source`. - -<2> This updates the mapping to add the new `flag` field. To pick up the new -field you have to reindex all documents with it. - -Searching for the data won't find anything: - -[source,js] --------------------------------------------------- -POST test/_search?filter_path=hits.total -{ - "query": { - "match": { - "flag": "foo" - } - } -} --------------------------------------------------- -// AUTOSENSE - -[source,js] --------------------------------------------------- -{ - "hits" : { - "total" : 0 - } -} --------------------------------------------------- - -But you can issue an `_update_by_query` request to pick up the new mapping: - -[source,js] --------------------------------------------------- -POST test/_update_by_query?refresh&conflicts=proceed -POST test/_search?filter_path=hits.total -{ - "query": { - "match": { - "flag": "foo" - } - } -} --------------------------------------------------- -// AUTOSENSE - -[source,js] --------------------------------------------------- -{ - "hits" : { - "total" : 1 - } -} --------------------------------------------------- - -Hurray! You can do the exact same thing when adding a field to a multifield. - ==== Change the name of a field `_reindex` can be used to build a copy of an index with renamed fields. Say you diff --git a/docs/reference/docs/update-by-query.asciidoc b/docs/reference/docs/update-by-query.asciidoc new file mode 100644 index 00000000000..298c0a9ab79 --- /dev/null +++ b/docs/reference/docs/update-by-query.asciidoc @@ -0,0 +1,358 @@ +[[docs-update-by-query]] +==== Update By Query API + +The simplest usage of `_update_by_query` just performs an update on every +document in the index without changing the source. This is useful to +<> or some other online +mapping change. Here is the API: + +[source,js] +-------------------------------------------------- +POST /twitter/_update_by_query?conflicts=proceed +-------------------------------------------------- +// AUTOSENSE + +That will return something like this: + +[source,js] +-------------------------------------------------- +{ + "took" : 639, + "updated": 1235, + "batches": 13, + "version_conflicts": 2, + "failures" : [ ] +} +-------------------------------------------------- + +`_update_by_query` gets a snapshot of the index when it starts and indexes what +it finds using `internal` versioning. That means that you'll get a version +conflict if the document changes between the time when the snapshot was taken +and when the index request is processed. When the versions match the document +is updated and the version number is incremented. + +All update and query failures cause the `_update_by_query` to abort and are +returned in the `failures` of the response. The updates that have been +performed still stick. In other words, the process is not rolled back, only +aborted. While the first failure causes the abort all failures that are +returned by the failing bulk request are returned in the `failures` element so +it's possible for there to be quite a few. + +If you want to simply count version conflicts not cause the `_update_by_query` +to abort you can set `conflicts=proceed` on the url or `"conflicts": "proceed"` +in the request body. The first example does this because it is just trying to +pick up an online mapping change and a version conflict simply means that the +conflicting document was updated between the start of the `_update_by_query` +and the time when it attempted to update the document. This is fine because +that update will have picked up the online mapping update. + +Back to the API format, you can limit `_update_by_query` to a single type. This +will only update `tweet`s from the `twitter` index: + +[source,js] +-------------------------------------------------- +POST /twitter/tweet/_update_by_query?conflicts=proceed +-------------------------------------------------- +// AUTOSENSE + +You can also limit `_update_by_query` using the +{ref}/query-dsl.html[Query DSL]. This will update all documents from the +`twitter` index for the user `kimchy`: + +[source,js] +-------------------------------------------------- +POST /twitter/_update_by_query?conflicts=proceed +{ + "query": { <1> + "term": { + "user": "kimchy" + } + } +} +-------------------------------------------------- +// AUTOSENSE + +<1> The query must be passed as a value to the `query` key, in the same +way as the {ref}/search-search.html[Search API]. You can also use the `q` +parameter in the same way as the search api. + +So far we've only been updating documents without changing their source. That +is genuinely useful for things like +<> but it's only half the +fun. `_update_by_query` supports a `script` object to update the document. This +will increment the `likes` field on all of kimchy's tweets: +[source,js] +-------------------------------------------------- +POST /twitter/_update_by_query +{ + "script": { + "inline": "ctx._source.likes++" + }, + "query": { + "term": { + "user": "kimchy" + } + } +} +-------------------------------------------------- +// AUTOSENSE + +Just as in {ref}/docs-update.html[Update API] you can set `ctx.op = "noop"` if +your script decides that it doesn't have to make any changes. That will cause +`_update_by_query` to omit that document from its updates. Setting `ctx.op` to +anything else is an error. If you want to delete by a query you can use the +<> instead. Setting any other +field in `ctx` is an error. + +Note that we stopped specifying `conflicts=proceed`. In this case we want a +version conflict to abort the process so we can handle the failure. + +This API doesn't allow you to move the documents it touches, just modify their +source. This is intentional! We've made no provisions for removing the document +from its original location. + +It's also possible to do this whole thing on multiple indexes and multiple +types at once, just like the search API: + +[source,js] +-------------------------------------------------- +POST /twitter,blog/tweet,post/_update_by_query +-------------------------------------------------- +// AUTOSENSE + +If you provide `routing` then the routing is copied to the scroll query, +limiting the process to the shards that match that routing value: + +[source,js] +-------------------------------------------------- +POST /twitter/_update_by_query?routing=1 +-------------------------------------------------- +// AUTOSENSE + +By default `_update_by_query` uses scroll batches of 100. You can change the +batch size with the `scroll_size` URL parameter: + +[source,js] +-------------------------------------------------- +POST /twitter/_update_by_query?scroll_size=1000 +-------------------------------------------------- +// AUTOSENSE + +[float] +=== URL Parameters + +In addition to the standard parameters like `pretty`, the Update By Query API +also supports `refresh`, `wait_for_completion`, `consistency`, and `timeout`. + +Sending the `refresh` will update all shards in the index being updated when +the request completes. This is different than the Index API's `refresh` +parameter which causes just the shard that received the new data to be indexed. + +If the request contains `wait_for_completion=false` then Elasticsearch will +perform some preflight checks, launch the request, and then return a `task` +which can be used with <> to cancel +or get the status of the task. For now, once the request is finished the task +is gone and the only place to look for the ultimate result of the task is in +the Elasticsearch log file. This will be fixed soon. + +`consistency` controls how many copies of a shard must respond to each write +request. `timeout` controls how long each write request waits for unavailable +shards to become available. Both work exactly how they work in the +{ref}/docs-bulk.html[Bulk API]. + +`timeout` controls how long each batch waits for the target shard to become +available. It works exactly how it works in the {ref}/docs-bulk.html[Bulk API]. + +[float] +=== Response body + +The JSON response looks like this: + +[source,js] +-------------------------------------------------- +{ + "took" : 639, + "updated": 0, + "batches": 1, + "version_conflicts": 2, + "failures" : [ ] +} +-------------------------------------------------- + +`took`:: + +The number of milliseconds from start to end of the whole operation. + +`updated`:: + +The number of documents that were successfully updated. + +`batches`:: + +The number of scroll responses pulled back by the the update by query. + +`version_conflicts`:: + +The number of version conflicts that the update by query hit. + +`failures`:: + +Array of all indexing failures. If this is non-empty then the request aborted +because of those failures. See `conflicts` for how to prevent version conflicts +from aborting the operation. + + +[float] +[[docs-update-by-query-task-api]] +=== Works with the Task API + +While Update By Query is running you can fetch their status using the +{ref}/task/list.html[Task List APIs]: + +[source,js] +-------------------------------------------------- +POST /_tasks/?pretty&detailed=true&action=byquery +-------------------------------------------------- +// AUTOSENSE + +The responses looks like: + +[source,js] +-------------------------------------------------- +{ + "nodes" : { + "r1A2WoRbTwKZ516z6NEs5A" : { + "name" : "Tyrannus", + "transport_address" : "127.0.0.1:9300", + "host" : "127.0.0.1", + "ip" : "127.0.0.1:9300", + "attributes" : { + "testattr" : "test", + "portsfile" : "true" + }, + "tasks" : [ { + "node" : "r1A2WoRbTwKZ516z6NEs5A", + "id" : 36619, + "type" : "transport", + "action" : "indices:data/write/update/byquery", + "status" : { <1> + "total" : 6154, + "updated" : 3500, + "created" : 0, + "deleted" : 0, + "batches" : 36, + "version_conflicts" : 0, + "noops" : 0 + }, + "description" : "" + } ] + } + } +} +-------------------------------------------------- + +<1> this object contains the actual status. It is just like the response json +with the important addition of the `total` field. `total` is the total number +of operations that the reindex expects to perform. You can estimate the +progress by adding the `updated`, `created`, and `deleted` fields. The request +will finish when their sum is equal to the `total` field. + + +[float] +=== Examples + +[[picking-up-a-new-property]] +==== Pick up a new property + +Say you created an index without dynamic mapping, filled it with data, and then +added a mapping value to pick up more fields from the data: + +[source,js] +-------------------------------------------------- +PUT test +{ + "mappings": { + "test": { + "dynamic": false, <1> + "properties": { + "text": {"type": "string"} + } + } + } +} + +POST test/test?refresh +{ + "text": "words words", + "flag": "bar" +}' +POST test/test?refresh +{ + "text": "words words", + "flag": "foo" +}' +PUT test/_mapping/test <2> +{ + "properties": { + "text": {"type": "string"}, + "flag": {"type": "string", "analyzer": "keyword"} + } +} +-------------------------------------------------- +// AUTOSENSE + +<1> This means that new fields won't be indexed, just stored in `_source`. + +<2> This updates the mapping to add the new `flag` field. To pick up the new +field you have to reindex all documents with it. + +Searching for the data won't find anything: + +[source,js] +-------------------------------------------------- +POST test/_search?filter_path=hits.total +{ + "query": { + "match": { + "flag": "foo" + } + } +} +-------------------------------------------------- +// AUTOSENSE + +[source,js] +-------------------------------------------------- +{ + "hits" : { + "total" : 0 + } +} +-------------------------------------------------- + +But you can issue an `_update_by_query` request to pick up the new mapping: + +[source,js] +-------------------------------------------------- +POST test/_update_by_query?refresh&conflicts=proceed +POST test/_search?filter_path=hits.total +{ + "query": { + "match": { + "flag": "foo" + } + } +} +-------------------------------------------------- +// AUTOSENSE + +[source,js] +-------------------------------------------------- +{ + "hits" : { + "total" : 1 + } +} +-------------------------------------------------- + +Hurray! You can do the exact same thing when adding a field to a multifield. diff --git a/plugins/reindex/build.gradle b/modules/reindex/build.gradle similarity index 93% rename from plugins/reindex/build.gradle rename to modules/reindex/build.gradle index beb282f1343..8703bd4f8d8 100644 --- a/plugins/reindex/build.gradle +++ b/modules/reindex/build.gradle @@ -19,5 +19,5 @@ esplugin { description 'The Reindex Plugin adds APIs to reindex from one index to another or update documents in place.' - classname 'org.elasticsearch.plugin.reindex.ReindexPlugin' + classname 'org.elasticsearch.index.reindex.ReindexPlugin' } diff --git a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/AbstractAsyncBulkByScrollAction.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractAsyncBulkByScrollAction.java similarity index 99% rename from plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/AbstractAsyncBulkByScrollAction.java rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractAsyncBulkByScrollAction.java index 48a6098e386..861c03cd706 100644 --- a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/AbstractAsyncBulkByScrollAction.java +++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractAsyncBulkByScrollAction.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.ActionListener; import org.elasticsearch.action.admin.indices.refresh.RefreshRequest; @@ -62,7 +62,7 @@ import static java.util.Collections.emptyList; import static java.util.Collections.unmodifiableList; import static org.elasticsearch.action.bulk.BackoffPolicy.exponentialBackoff; import static org.elasticsearch.common.unit.TimeValue.timeValueNanos; -import static org.elasticsearch.plugin.reindex.AbstractBulkByScrollRequest.SIZE_ALL_MATCHES; +import static org.elasticsearch.index.reindex.AbstractBulkByScrollRequest.SIZE_ALL_MATCHES; import static org.elasticsearch.rest.RestStatus.CONFLICT; import static org.elasticsearch.search.sort.SortBuilders.fieldSort; diff --git a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/AbstractAsyncBulkIndexByScrollAction.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractAsyncBulkIndexByScrollAction.java similarity index 99% rename from plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/AbstractAsyncBulkIndexByScrollAction.java rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractAsyncBulkIndexByScrollAction.java index 516ddb3658b..3f39f824009 100644 --- a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/AbstractAsyncBulkIndexByScrollAction.java +++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractAsyncBulkIndexByScrollAction.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.ActionListener; import org.elasticsearch.action.bulk.BulkRequest; diff --git a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/AbstractBaseReindexRestHandler.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBaseReindexRestHandler.java similarity index 98% rename from plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/AbstractBaseReindexRestHandler.java rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBaseReindexRestHandler.java index 6138d56e531..846fedbfb1c 100644 --- a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/AbstractBaseReindexRestHandler.java +++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBaseReindexRestHandler.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.ActionRequest; import org.elasticsearch.action.ActionRequestValidationException; diff --git a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/AbstractBulkByScrollRequest.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBulkByScrollRequest.java similarity index 99% rename from plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/AbstractBulkByScrollRequest.java rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBulkByScrollRequest.java index 671bd7e158b..b7d09389581 100644 --- a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/AbstractBulkByScrollRequest.java +++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBulkByScrollRequest.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.ActionRequest; import org.elasticsearch.action.ActionRequestValidationException; diff --git a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/AbstractBulkByScrollRequestBuilder.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBulkByScrollRequestBuilder.java similarity index 98% rename from plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/AbstractBulkByScrollRequestBuilder.java rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBulkByScrollRequestBuilder.java index 74957af1c35..18ebe42c44d 100644 --- a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/AbstractBulkByScrollRequestBuilder.java +++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBulkByScrollRequestBuilder.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.Action; import org.elasticsearch.action.ActionRequestBuilder; diff --git a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/AbstractBulkIndexByScrollRequest.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBulkIndexByScrollRequest.java similarity index 98% rename from plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/AbstractBulkIndexByScrollRequest.java rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBulkIndexByScrollRequest.java index 966258543cc..c14251d5f46 100644 --- a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/AbstractBulkIndexByScrollRequest.java +++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBulkIndexByScrollRequest.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.common.Nullable; diff --git a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/AbstractBulkIndexByScrollRequestBuilder.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBulkIndexByScrollRequestBuilder.java similarity index 97% rename from plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/AbstractBulkIndexByScrollRequestBuilder.java rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBulkIndexByScrollRequestBuilder.java index 9afe96b3656..e5d39569236 100644 --- a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/AbstractBulkIndexByScrollRequestBuilder.java +++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBulkIndexByScrollRequestBuilder.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.Action; import org.elasticsearch.action.ActionResponse; diff --git a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/BulkByScrollTask.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/BulkByScrollTask.java similarity index 99% rename from plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/BulkByScrollTask.java rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/BulkByScrollTask.java index 0f45ca9a9c5..c9d8e3f188c 100644 --- a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/BulkByScrollTask.java +++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/BulkByScrollTask.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.common.Nullable; import org.elasticsearch.common.io.stream.StreamInput; diff --git a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/BulkIndexByScrollResponse.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/BulkIndexByScrollResponse.java similarity index 99% rename from plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/BulkIndexByScrollResponse.java rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/BulkIndexByScrollResponse.java index 2859ea0f2d6..ca1a53ef999 100644 --- a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/BulkIndexByScrollResponse.java +++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/BulkIndexByScrollResponse.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.ActionResponse; import org.elasticsearch.action.bulk.BulkItemResponse.Failure; diff --git a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/BulkIndexByScrollResponseContentListener.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/BulkIndexByScrollResponseContentListener.java similarity index 97% rename from plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/BulkIndexByScrollResponseContentListener.java rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/BulkIndexByScrollResponseContentListener.java index 1bd79b91e01..24fdb16b397 100644 --- a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/BulkIndexByScrollResponseContentListener.java +++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/BulkIndexByScrollResponseContentListener.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.bulk.BulkItemResponse.Failure; import org.elasticsearch.rest.RestChannel; diff --git a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/ReindexAction.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/ReindexAction.java similarity index 97% rename from plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/ReindexAction.java rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/ReindexAction.java index b3917ec28dd..9b2c51bcf8d 100644 --- a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/ReindexAction.java +++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/ReindexAction.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; diff --git a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/ReindexPlugin.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/ReindexPlugin.java similarity index 93% rename from plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/ReindexPlugin.java rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/ReindexPlugin.java index a1ded0ea3f0..a01c6e3b30e 100644 --- a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/ReindexPlugin.java +++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/ReindexPlugin.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.ActionModule; import org.elasticsearch.common.network.NetworkModule; @@ -33,7 +33,7 @@ public class ReindexPlugin extends Plugin { @Override public String description() { - return "The Reindex Plugin adds APIs to reindex from one index to another or update documents in place."; + return "The Reindex module adds APIs to reindex from one index to another or update documents in place."; } public void onModule(ActionModule actionModule) { diff --git a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/ReindexRequest.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/ReindexRequest.java similarity index 99% rename from plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/ReindexRequest.java rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/ReindexRequest.java index 1126503837a..38457c05c39 100644 --- a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/ReindexRequest.java +++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/ReindexRequest.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.ActionRequestValidationException; import org.elasticsearch.action.index.IndexRequest; diff --git a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/ReindexRequestBuilder.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/ReindexRequestBuilder.java similarity index 98% rename from plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/ReindexRequestBuilder.java rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/ReindexRequestBuilder.java index 86205f4da13..96330e56f99 100644 --- a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/ReindexRequestBuilder.java +++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/ReindexRequestBuilder.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.Action; import org.elasticsearch.action.index.IndexAction; diff --git a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/ReindexResponse.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/ReindexResponse.java similarity index 95% rename from plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/ReindexResponse.java rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/ReindexResponse.java index 781399e51c8..a4aee0c00d3 100644 --- a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/ReindexResponse.java +++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/ReindexResponse.java @@ -17,13 +17,13 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.bulk.BulkItemResponse.Failure; import org.elasticsearch.action.search.ShardSearchFailure; import org.elasticsearch.common.unit.TimeValue; import org.elasticsearch.common.xcontent.XContentBuilder; -import org.elasticsearch.plugin.reindex.BulkByScrollTask.Status; +import org.elasticsearch.index.reindex.BulkByScrollTask.Status; import java.io.IOException; import java.util.List; diff --git a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/RestReindexAction.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/RestReindexAction.java similarity index 99% rename from plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/RestReindexAction.java rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/RestReindexAction.java index c4dadf3e4ef..4dc40c187a0 100644 --- a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/RestReindexAction.java +++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/RestReindexAction.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.WriteConsistencyLevel; import org.elasticsearch.action.index.IndexRequest; diff --git a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/RestUpdateByQueryAction.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/RestUpdateByQueryAction.java similarity index 95% rename from plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/RestUpdateByQueryAction.java rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/RestUpdateByQueryAction.java index c724dc9f505..dd8f8b68d08 100644 --- a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/RestUpdateByQueryAction.java +++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/RestUpdateByQueryAction.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.client.Client; @@ -40,8 +40,8 @@ import org.elasticsearch.script.Script; import java.util.Map; -import static org.elasticsearch.plugin.reindex.AbstractBulkByScrollRequest.SIZE_ALL_MATCHES; -import static org.elasticsearch.plugin.reindex.RestReindexAction.parseCommon; +import static org.elasticsearch.index.reindex.AbstractBulkByScrollRequest.SIZE_ALL_MATCHES; +import static org.elasticsearch.index.reindex.RestReindexAction.parseCommon; import static org.elasticsearch.rest.RestRequest.Method.POST; public class RestUpdateByQueryAction extends diff --git a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/TransportReindexAction.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportReindexAction.java similarity index 99% rename from plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/TransportReindexAction.java rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportReindexAction.java index 4381bf223eb..746d4cfe4cb 100644 --- a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/TransportReindexAction.java +++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportReindexAction.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.ActionListener; import org.elasticsearch.action.ActionRequestValidationException; diff --git a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/TransportUpdateByQueryAction.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportUpdateByQueryAction.java similarity index 99% rename from plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/TransportUpdateByQueryAction.java rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportUpdateByQueryAction.java index cb03fabc70a..29deca8f309 100644 --- a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/TransportUpdateByQueryAction.java +++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportUpdateByQueryAction.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.ActionListener; import org.elasticsearch.action.bulk.BulkItemResponse.Failure; diff --git a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/UpdateByQueryAction.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/UpdateByQueryAction.java similarity index 97% rename from plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/UpdateByQueryAction.java rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/UpdateByQueryAction.java index 67895a2a054..0ff1b18bde0 100644 --- a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/UpdateByQueryAction.java +++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/UpdateByQueryAction.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; diff --git a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/UpdateByQueryRequest.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/UpdateByQueryRequest.java similarity index 97% rename from plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/UpdateByQueryRequest.java rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/UpdateByQueryRequest.java index f0cc934d256..555430df749 100644 --- a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/UpdateByQueryRequest.java +++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/UpdateByQueryRequest.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.search.SearchRequest; diff --git a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/UpdateByQueryRequestBuilder.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/UpdateByQueryRequestBuilder.java similarity index 97% rename from plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/UpdateByQueryRequestBuilder.java rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/UpdateByQueryRequestBuilder.java index 01d8ee8f306..ef64f36b3db 100644 --- a/plugins/reindex/src/main/java/org/elasticsearch/plugin/reindex/UpdateByQueryRequestBuilder.java +++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/UpdateByQueryRequestBuilder.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.Action; import org.elasticsearch.action.search.SearchAction; diff --git a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/AbstractAsyncBulkIndexByScrollActionScriptTestCase.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/AbstractAsyncBulkIndexByScrollActionScriptTestCase.java similarity index 98% rename from plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/AbstractAsyncBulkIndexByScrollActionScriptTestCase.java rename to modules/reindex/src/test/java/org/elasticsearch/index/reindex/AbstractAsyncBulkIndexByScrollActionScriptTestCase.java index cf7f1e91fe9..b8f389d171a 100644 --- a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/AbstractAsyncBulkIndexByScrollActionScriptTestCase.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/AbstractAsyncBulkIndexByScrollActionScriptTestCase.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.index.IndexRequest; import org.elasticsearch.common.text.Text; diff --git a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/AbstractAsyncBulkIndexByScrollActionTestCase.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/AbstractAsyncBulkIndexByScrollActionTestCase.java similarity index 97% rename from plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/AbstractAsyncBulkIndexByScrollActionTestCase.java rename to modules/reindex/src/test/java/org/elasticsearch/index/reindex/AbstractAsyncBulkIndexByScrollActionTestCase.java index 74b466d9363..a92b82582f8 100644 --- a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/AbstractAsyncBulkIndexByScrollActionTestCase.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/AbstractAsyncBulkIndexByScrollActionTestCase.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.support.PlainActionFuture; import org.elasticsearch.test.ESTestCase; diff --git a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/AbstractAsyncBulkIndexbyScrollActionMetadataTestCase.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/AbstractAsyncBulkIndexbyScrollActionMetadataTestCase.java similarity index 98% rename from plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/AbstractAsyncBulkIndexbyScrollActionMetadataTestCase.java rename to modules/reindex/src/test/java/org/elasticsearch/index/reindex/AbstractAsyncBulkIndexbyScrollActionMetadataTestCase.java index 420a460500b..37386abf12e 100644 --- a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/AbstractAsyncBulkIndexbyScrollActionMetadataTestCase.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/AbstractAsyncBulkIndexbyScrollActionMetadataTestCase.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.index.IndexRequest; import org.elasticsearch.common.text.Text; diff --git a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/AbstractBulkIndexByScrollResponseMatcher.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/AbstractBulkIndexByScrollResponseMatcher.java similarity index 99% rename from plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/AbstractBulkIndexByScrollResponseMatcher.java rename to modules/reindex/src/test/java/org/elasticsearch/index/reindex/AbstractBulkIndexByScrollResponseMatcher.java index 0f676dccb90..0faf7d54549 100644 --- a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/AbstractBulkIndexByScrollResponseMatcher.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/AbstractBulkIndexByScrollResponseMatcher.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.hamcrest.Description; import org.hamcrest.Matcher; diff --git a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/AsyncBulkByScrollActionTests.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/AsyncBulkByScrollActionTests.java similarity index 99% rename from plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/AsyncBulkByScrollActionTests.java rename to modules/reindex/src/test/java/org/elasticsearch/index/reindex/AsyncBulkByScrollActionTests.java index 564ca139ee2..ae05f3270df 100644 --- a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/AsyncBulkByScrollActionTests.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/AsyncBulkByScrollActionTests.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.Action; import org.elasticsearch.action.ActionListener; diff --git a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/BulkByScrollTaskTests.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/BulkByScrollTaskTests.java similarity index 99% rename from plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/BulkByScrollTaskTests.java rename to modules/reindex/src/test/java/org/elasticsearch/index/reindex/BulkByScrollTaskTests.java index 1ccd3b8b6e0..81a3a2cc706 100644 --- a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/BulkByScrollTaskTests.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/BulkByScrollTaskTests.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.test.ESTestCase; import org.junit.Before; diff --git a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/CancelTestUtils.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/CancelTestUtils.java similarity index 99% rename from plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/CancelTestUtils.java rename to modules/reindex/src/test/java/org/elasticsearch/index/reindex/CancelTestUtils.java index 3595e442174..d1f6b1ee171 100644 --- a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/CancelTestUtils.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/CancelTestUtils.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.ActionResponse; import org.elasticsearch.action.ListenableActionFuture; diff --git a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexBasicTests.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexBasicTests.java similarity index 99% rename from plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexBasicTests.java rename to modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexBasicTests.java index 233120330c4..83dcd1483c1 100644 --- a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexBasicTests.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexBasicTests.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder; import org.elasticsearch.action.index.IndexRequestBuilder; diff --git a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexCancelTests.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexCancelTests.java similarity index 97% rename from plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexCancelTests.java rename to modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexCancelTests.java index 078d17f3a68..590957237f8 100644 --- a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexCancelTests.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexCancelTests.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.plugins.Plugin; diff --git a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexFailureTests.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexFailureTests.java similarity index 99% rename from plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexFailureTests.java rename to modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexFailureTests.java index 5d1acc23968..7aaec014d3e 100644 --- a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexFailureTests.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexFailureTests.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.ActionRequestValidationException; import org.elasticsearch.action.bulk.BulkItemResponse.Failure; diff --git a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexMetadataTests.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexMetadataTests.java similarity index 98% rename from plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexMetadataTests.java rename to modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexMetadataTests.java index dffac062040..01e018a77cb 100644 --- a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexMetadataTests.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexMetadataTests.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.index.IndexRequest; import org.elasticsearch.action.search.SearchRequest; diff --git a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexParentChildTests.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexParentChildTests.java similarity index 99% rename from plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexParentChildTests.java rename to modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexParentChildTests.java index 9f75e2c5000..fcc678a7d6d 100644 --- a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexParentChildTests.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexParentChildTests.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder; import org.elasticsearch.index.query.QueryBuilder; diff --git a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexRestIT.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexRestIT.java similarity index 97% rename from plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexRestIT.java rename to modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexRestIT.java index a001c32ab36..d8718c5b493 100644 --- a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexRestIT.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexRestIT.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import com.carrotsearch.randomizedtesting.annotations.Name; import com.carrotsearch.randomizedtesting.annotations.ParametersFactory; diff --git a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexSameIndexTests.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexSameIndexTests.java similarity index 99% rename from plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexSameIndexTests.java rename to modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexSameIndexTests.java index 770c959c50f..f1218414af7 100644 --- a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexSameIndexTests.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexSameIndexTests.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.Version; import org.elasticsearch.action.ActionRequestValidationException; diff --git a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexScriptTests.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexScriptTests.java similarity index 99% rename from plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexScriptTests.java rename to modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexScriptTests.java index 31bb9c9eea8..c1697ba3020 100644 --- a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexScriptTests.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexScriptTests.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.index.IndexRequest; import org.elasticsearch.common.lucene.uid.Versions; diff --git a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexTestCase.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexTestCase.java similarity index 98% rename from plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexTestCase.java rename to modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexTestCase.java index fa13a2dc9d0..8abdb39b6ae 100644 --- a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexTestCase.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexTestCase.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.plugins.Plugin; import org.elasticsearch.test.ESIntegTestCase; diff --git a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexVersioningTests.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexVersioningTests.java similarity index 99% rename from plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexVersioningTests.java rename to modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexVersioningTests.java index db56a6d93a8..725b55d76bb 100644 --- a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/ReindexVersioningTests.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/ReindexVersioningTests.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.get.GetResponse; diff --git a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/RoundTripTests.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/RoundTripTests.java similarity index 99% rename from plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/RoundTripTests.java rename to modules/reindex/src/test/java/org/elasticsearch/index/reindex/RoundTripTests.java index f3eb0cc8208..6863acc9ada 100644 --- a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/RoundTripTests.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/RoundTripTests.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.WriteConsistencyLevel; import org.elasticsearch.action.bulk.BulkItemResponse.Failure; diff --git a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/SimpleExecutableScript.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/SimpleExecutableScript.java similarity index 97% rename from plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/SimpleExecutableScript.java rename to modules/reindex/src/test/java/org/elasticsearch/index/reindex/SimpleExecutableScript.java index 3f4711bcfa3..8d770915c89 100644 --- a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/SimpleExecutableScript.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/SimpleExecutableScript.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.script.ExecutableScript; diff --git a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/UpdateByQueryBasicTests.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/UpdateByQueryBasicTests.java similarity index 99% rename from plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/UpdateByQueryBasicTests.java rename to modules/reindex/src/test/java/org/elasticsearch/index/reindex/UpdateByQueryBasicTests.java index 8b7eaac6ead..9c080d85f57 100644 --- a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/UpdateByQueryBasicTests.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/UpdateByQueryBasicTests.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder; import org.elasticsearch.search.sort.SortOrder; diff --git a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/UpdateByQueryCancelTests.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/UpdateByQueryCancelTests.java similarity index 98% rename from plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/UpdateByQueryCancelTests.java rename to modules/reindex/src/test/java/org/elasticsearch/index/reindex/UpdateByQueryCancelTests.java index 7727888da12..069049765b8 100644 --- a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/UpdateByQueryCancelTests.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/UpdateByQueryCancelTests.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.plugins.Plugin; diff --git a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/UpdateByQueryMetadataTests.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/UpdateByQueryMetadataTests.java similarity index 97% rename from plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/UpdateByQueryMetadataTests.java rename to modules/reindex/src/test/java/org/elasticsearch/index/reindex/UpdateByQueryMetadataTests.java index 04b7cc259d5..e3e4e8e8ad1 100644 --- a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/UpdateByQueryMetadataTests.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/UpdateByQueryMetadataTests.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.index.IndexRequest; import org.elasticsearch.action.search.SearchRequest; diff --git a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/UpdateByQueryTestCase.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/UpdateByQueryTestCase.java similarity index 97% rename from plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/UpdateByQueryTestCase.java rename to modules/reindex/src/test/java/org/elasticsearch/index/reindex/UpdateByQueryTestCase.java index aeb249ff9a4..09613eaffeb 100644 --- a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/UpdateByQueryTestCase.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/UpdateByQueryTestCase.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.plugins.Plugin; import org.elasticsearch.test.ESIntegTestCase; diff --git a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/UpdateByQueryWhileModifyingTests.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/UpdateByQueryWhileModifyingTests.java similarity index 99% rename from plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/UpdateByQueryWhileModifyingTests.java rename to modules/reindex/src/test/java/org/elasticsearch/index/reindex/UpdateByQueryWhileModifyingTests.java index a739ecf4654..e2776d4d5d1 100644 --- a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/UpdateByQueryWhileModifyingTests.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/UpdateByQueryWhileModifyingTests.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import org.elasticsearch.action.get.GetResponse; import org.elasticsearch.action.index.IndexRequestBuilder; diff --git a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/UpdateByQueryWithScriptTests.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/UpdateByQueryWithScriptTests.java similarity index 98% rename from plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/UpdateByQueryWithScriptTests.java rename to modules/reindex/src/test/java/org/elasticsearch/index/reindex/UpdateByQueryWithScriptTests.java index b989baf879f..50109f0c0d9 100644 --- a/plugins/reindex/src/test/java/org/elasticsearch/plugin/reindex/UpdateByQueryWithScriptTests.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/UpdateByQueryWithScriptTests.java @@ -17,7 +17,7 @@ * under the License. */ -package org.elasticsearch.plugin.reindex; +package org.elasticsearch.index.reindex; import java.util.Date; import java.util.Map; diff --git a/plugins/reindex/src/test/resources/rest-api-spec/test/reindex/10_basic.yaml b/modules/reindex/src/test/resources/rest-api-spec/test/reindex/10_basic.yaml similarity index 100% rename from plugins/reindex/src/test/resources/rest-api-spec/test/reindex/10_basic.yaml rename to modules/reindex/src/test/resources/rest-api-spec/test/reindex/10_basic.yaml diff --git a/plugins/reindex/src/test/resources/rest-api-spec/test/reindex/20_validation.yaml b/modules/reindex/src/test/resources/rest-api-spec/test/reindex/20_validation.yaml similarity index 100% rename from plugins/reindex/src/test/resources/rest-api-spec/test/reindex/20_validation.yaml rename to modules/reindex/src/test/resources/rest-api-spec/test/reindex/20_validation.yaml diff --git a/plugins/reindex/src/test/resources/rest-api-spec/test/reindex/30_search.yaml b/modules/reindex/src/test/resources/rest-api-spec/test/reindex/30_search.yaml similarity index 100% rename from plugins/reindex/src/test/resources/rest-api-spec/test/reindex/30_search.yaml rename to modules/reindex/src/test/resources/rest-api-spec/test/reindex/30_search.yaml diff --git a/plugins/reindex/src/test/resources/rest-api-spec/test/reindex/40_versioning.yaml b/modules/reindex/src/test/resources/rest-api-spec/test/reindex/40_versioning.yaml similarity index 100% rename from plugins/reindex/src/test/resources/rest-api-spec/test/reindex/40_versioning.yaml rename to modules/reindex/src/test/resources/rest-api-spec/test/reindex/40_versioning.yaml diff --git a/plugins/reindex/src/test/resources/rest-api-spec/test/reindex/50_routing.yaml b/modules/reindex/src/test/resources/rest-api-spec/test/reindex/50_routing.yaml similarity index 100% rename from plugins/reindex/src/test/resources/rest-api-spec/test/reindex/50_routing.yaml rename to modules/reindex/src/test/resources/rest-api-spec/test/reindex/50_routing.yaml diff --git a/plugins/reindex/src/test/resources/rest-api-spec/test/reindex/60_consistency.yaml b/modules/reindex/src/test/resources/rest-api-spec/test/reindex/60_consistency.yaml similarity index 100% rename from plugins/reindex/src/test/resources/rest-api-spec/test/reindex/60_consistency.yaml rename to modules/reindex/src/test/resources/rest-api-spec/test/reindex/60_consistency.yaml diff --git a/plugins/reindex/src/test/resources/rest-api-spec/test/update-by-query/10_basic.yaml b/modules/reindex/src/test/resources/rest-api-spec/test/update-by-query/10_basic.yaml similarity index 100% rename from plugins/reindex/src/test/resources/rest-api-spec/test/update-by-query/10_basic.yaml rename to modules/reindex/src/test/resources/rest-api-spec/test/update-by-query/10_basic.yaml diff --git a/plugins/reindex/src/test/resources/rest-api-spec/test/update-by-query/20_validation.yaml b/modules/reindex/src/test/resources/rest-api-spec/test/update-by-query/20_validation.yaml similarity index 100% rename from plugins/reindex/src/test/resources/rest-api-spec/test/update-by-query/20_validation.yaml rename to modules/reindex/src/test/resources/rest-api-spec/test/update-by-query/20_validation.yaml diff --git a/plugins/reindex/src/test/resources/rest-api-spec/test/update-by-query/30_new_fields.yaml b/modules/reindex/src/test/resources/rest-api-spec/test/update-by-query/30_new_fields.yaml similarity index 100% rename from plugins/reindex/src/test/resources/rest-api-spec/test/update-by-query/30_new_fields.yaml rename to modules/reindex/src/test/resources/rest-api-spec/test/update-by-query/30_new_fields.yaml diff --git a/plugins/reindex/src/test/resources/rest-api-spec/test/update-by-query/40_versioning.yaml b/modules/reindex/src/test/resources/rest-api-spec/test/update-by-query/40_versioning.yaml similarity index 100% rename from plugins/reindex/src/test/resources/rest-api-spec/test/update-by-query/40_versioning.yaml rename to modules/reindex/src/test/resources/rest-api-spec/test/update-by-query/40_versioning.yaml diff --git a/plugins/reindex/src/test/resources/rest-api-spec/test/update-by-query/50_consistency.yaml b/modules/reindex/src/test/resources/rest-api-spec/test/update-by-query/50_consistency.yaml similarity index 100% rename from plugins/reindex/src/test/resources/rest-api-spec/test/update-by-query/50_consistency.yaml rename to modules/reindex/src/test/resources/rest-api-spec/test/update-by-query/50_consistency.yaml diff --git a/qa/smoke-test-reindex-with-groovy/build.gradle b/qa/smoke-test-reindex-with-groovy/build.gradle index 8a3d49f409f..a42f5e708a2 100644 --- a/qa/smoke-test-reindex-with-groovy/build.gradle +++ b/qa/smoke-test-reindex-with-groovy/build.gradle @@ -22,6 +22,5 @@ apply plugin: 'elasticsearch.rest-test' integTest { cluster { systemProperty 'es.script.inline', 'true' - plugin 'reindex', project(':plugins:reindex') } } diff --git a/plugins/reindex/src/test/resources/rest-api-spec/api/reindex.json b/rest-api-spec/src/main/resources/rest-api-spec/api/reindex.json similarity index 100% rename from plugins/reindex/src/test/resources/rest-api-spec/api/reindex.json rename to rest-api-spec/src/main/resources/rest-api-spec/api/reindex.json diff --git a/plugins/reindex/src/test/resources/rest-api-spec/api/update-by-query.json b/rest-api-spec/src/main/resources/rest-api-spec/api/update-by-query.json similarity index 100% rename from plugins/reindex/src/test/resources/rest-api-spec/api/update-by-query.json rename to rest-api-spec/src/main/resources/rest-api-spec/api/update-by-query.json diff --git a/settings.gradle b/settings.gradle index a760d46a990..97f7fc05f1e 100644 --- a/settings.gradle +++ b/settings.gradle @@ -15,6 +15,7 @@ List projects = [ 'modules:lang-expression', 'modules:lang-groovy', 'modules:lang-mustache', + 'modules:reindex', 'plugins:analysis-icu', 'plugins:analysis-kuromoji', 'plugins:analysis-phonetic', @@ -32,7 +33,6 @@ List projects = [ 'plugins:mapper-attachments', 'plugins:mapper-murmur3', 'plugins:mapper-size', - 'plugins:reindex', 'plugins:repository-azure', 'plugins:repository-hdfs', 'plugins:repository-s3',