- Enclosing class:
- NormalizationOperation
public static interface NormalizationOperation.Operation
Identifies what type of operation to perform. **copy** - Copies the value of the `source_field` to the
`destination_field` field. If the `destination_field` already exists, then the value of the `source_field`
overwrites the original value of the `destination_field`. **move** - Renames (moves) the `source_field` to the
`destination_field`. If the `destination_field` already exists, then the value of the `source_field` overwrites the
original value of the `destination_field`. Rename is identical to copy, except that the `source_field` is removed
after the value has been copied to the `destination_field` (it is the same as a _copy_ followed by a _remove_).
**merge** - Merges the value of the `source_field` with the value of the `destination_field`. The
`destination_field` is converted into an array if it is not already an array, and the value of the `source_field`
is appended to the array. This operation removes the `source_field` after the merge. If the `source_field` does not
exist in the current document, then the `destination_field` is still converted into an array (if it is not an array
already). This is ensures the type for `destination_field` is consistent across all documents. **remove** - Deletes
the `source_field` field. The `destination_field` is ignored for this operation. **remove_nulls** - Removes all
nested null (blank) leif values from the JSON tree. `source_field` and `destination_field` are ignored by this
operation because _remove_nulls_ operates on the entire JSON tree. Typically, `remove_nulls` is invoked as the last
normalization operation (if it is inoked at all, it can be time-expensive).