In the docs for the reindex api (https://www.elastic.co/guide/en/elasticsearch/reference/2.3/docs-reindex.html) there is a reference to an option called "op_type" which is always the "create" in the examples. Are there other options? if so, what are they?
The default is actually "index". Reindex supports blindly bumping the documents version number (default), only changing the document if the source document's version number is higher (
version_type=external) and only creating missing documents (
op_type=create). This mirrors the index API which supports those three options with the same parameters. The index API requires you to send the
version if using
version_type=external but reindex handles that for you, piping the version of the matching document through.
The index API also supports
version_type=internal and specifying a version which will bump the version of the document you are writing only if the version matches the one you send like traditional optimistic concurrency control. That is what update-by-query uses.