|
@@ -1,4 +1,4 @@
|
|
|
-setup:
|
|
|
+"Source values are mutated as expected":
|
|
|
- requires:
|
|
|
cluster_features: ["mapper.counted_keyword.synthetic_source_native_support"]
|
|
|
reason: "Feature implemented"
|
|
@@ -14,7 +14,6 @@ setup:
|
|
|
properties:
|
|
|
events:
|
|
|
type: counted_keyword
|
|
|
- synthetic_source_keep: none
|
|
|
|
|
|
|
|
|
- do:
|
|
@@ -53,71 +52,525 @@ setup:
|
|
|
id: "6"
|
|
|
body: { "events": [null, null]}
|
|
|
|
|
|
+ - do:
|
|
|
+ index:
|
|
|
+ index: test-events
|
|
|
+ id: "7"
|
|
|
+ body: { "events": [["a", "b"], "a", ["c"], [["b"], "c"]]}
|
|
|
+
|
|
|
- do:
|
|
|
indices.refresh: { }
|
|
|
|
|
|
----
|
|
|
-"Source values are mutated as expected":
|
|
|
- - do:
|
|
|
- search:
|
|
|
- index: test-events
|
|
|
- body:
|
|
|
- query:
|
|
|
- ids:
|
|
|
- values: [1]
|
|
|
- - match:
|
|
|
- hits.hits.0._source:
|
|
|
- events: ["a", "a", "b", "c"]
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
+ query:
|
|
|
+ ids:
|
|
|
+ values: [1]
|
|
|
+ - match:
|
|
|
+ hits.hits.0._source:
|
|
|
+ events: ["a", "a", "b", "c"]
|
|
|
|
|
|
- - do:
|
|
|
- search:
|
|
|
- index: test-events
|
|
|
- body:
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
query:
|
|
|
ids:
|
|
|
values: [2]
|
|
|
- - match:
|
|
|
+ - match:
|
|
|
hits.hits.0._source:
|
|
|
events: ["a", "b", "b", "b", "c"]
|
|
|
|
|
|
- - do:
|
|
|
- search:
|
|
|
- index: test-events
|
|
|
- body:
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
query:
|
|
|
ids:
|
|
|
values: [3]
|
|
|
- - match:
|
|
|
+ - match:
|
|
|
hits.hits.0._source:
|
|
|
events: ["a", "b", "c", "c"]
|
|
|
|
|
|
- - do:
|
|
|
- search:
|
|
|
- index: test-events
|
|
|
- body:
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
query:
|
|
|
ids:
|
|
|
values: [4]
|
|
|
- - match:
|
|
|
+ - match:
|
|
|
hits.hits.0._source:
|
|
|
events: "a"
|
|
|
|
|
|
- - do:
|
|
|
- search:
|
|
|
- index: test-events
|
|
|
- body:
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
query:
|
|
|
ids:
|
|
|
values: [5]
|
|
|
- - match:
|
|
|
+ - match:
|
|
|
hits.hits.0._source: {}
|
|
|
|
|
|
- - do:
|
|
|
- search:
|
|
|
- index: test-events
|
|
|
- body:
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
query:
|
|
|
ids:
|
|
|
values: [6]
|
|
|
- - match:
|
|
|
+ - match:
|
|
|
hits.hits.0._source: {}
|
|
|
+
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
+ query:
|
|
|
+ ids:
|
|
|
+ values: [7]
|
|
|
+ - match:
|
|
|
+ hits.hits.0._source:
|
|
|
+ events: ["a", "a", "b", "b", "c", "c"]
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+"synthetic_source_keep value is respected":
|
|
|
+ - requires:
|
|
|
+ cluster_features: ["mapper.counted_keyword.synthetic_source_native_support"]
|
|
|
+ reason: "Feature implemented"
|
|
|
+
|
|
|
+ - do:
|
|
|
+ indices.create:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
+ settings:
|
|
|
+ index:
|
|
|
+ mapping.source.mode: synthetic
|
|
|
+ mappings:
|
|
|
+ properties:
|
|
|
+ events:
|
|
|
+ type: counted_keyword
|
|
|
+ synthetic_source_keep: all
|
|
|
+
|
|
|
+ - do:
|
|
|
+ index:
|
|
|
+ index: test-events
|
|
|
+ id: "1"
|
|
|
+ body: { "events": [ "a", "b", "a", "c" ] }
|
|
|
+
|
|
|
+ - do:
|
|
|
+ index:
|
|
|
+ index: test-events
|
|
|
+ id: "2"
|
|
|
+ body: { "events": [ "b", "b", "c", "a", "b" ] }
|
|
|
+
|
|
|
+ - do:
|
|
|
+ index:
|
|
|
+ index: test-events
|
|
|
+ id: "3"
|
|
|
+ body: { "events": [ "c", "a", null, "b", null, "c" ] }
|
|
|
+
|
|
|
+ - do:
|
|
|
+ index:
|
|
|
+ index: test-events
|
|
|
+ id: "4"
|
|
|
+ body: { "events": [ "a" ] }
|
|
|
+
|
|
|
+ - do:
|
|
|
+ index:
|
|
|
+ index: test-events
|
|
|
+ id: "5"
|
|
|
+ body: { "events": [ ] }
|
|
|
+
|
|
|
+ - do:
|
|
|
+ index:
|
|
|
+ index: test-events
|
|
|
+ id: "6"
|
|
|
+ body: { "events": [ null, null ] }
|
|
|
+
|
|
|
+ - do:
|
|
|
+ index:
|
|
|
+ index: test-events
|
|
|
+ id: "7"
|
|
|
+ body: { "events": [["a", "b"], "a", ["c"], [["b"], "c"]]}
|
|
|
+
|
|
|
+ - do:
|
|
|
+ indices.refresh: { }
|
|
|
+
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
+ query:
|
|
|
+ ids:
|
|
|
+ values: [ 1 ]
|
|
|
+ - match:
|
|
|
+ hits.hits.0._source:
|
|
|
+ events: [ "a", "b", "a", "c" ]
|
|
|
+
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
+ query:
|
|
|
+ ids:
|
|
|
+ values: [ 2 ]
|
|
|
+ - match:
|
|
|
+ hits.hits.0._source:
|
|
|
+ events: [ "b", "b", "c", "a", "b" ]
|
|
|
+
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
+ query:
|
|
|
+ ids:
|
|
|
+ values: [ 3 ]
|
|
|
+ - match:
|
|
|
+ hits.hits.0._source:
|
|
|
+ events: [ "c", "a", null, "b", null, "c" ]
|
|
|
+
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
+ query:
|
|
|
+ ids:
|
|
|
+ values: [ 4 ]
|
|
|
+ - match:
|
|
|
+ hits.hits.0._source:
|
|
|
+ events: [ "a" ]
|
|
|
+
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
+ query:
|
|
|
+ ids:
|
|
|
+ values: [ 5 ]
|
|
|
+ - match:
|
|
|
+ hits.hits.0._source:
|
|
|
+ events: [ ]
|
|
|
+
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
+ query:
|
|
|
+ ids:
|
|
|
+ values: [ 6 ]
|
|
|
+ - match:
|
|
|
+ hits.hits.0._source:
|
|
|
+ events: [ null, null ]
|
|
|
+
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
+ query:
|
|
|
+ ids:
|
|
|
+ values: [ 7 ]
|
|
|
+ - match:
|
|
|
+ hits.hits.0._source:
|
|
|
+ events: [["a", "b"], "a", ["c"], [["b"], "c"]]
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+"synthetic_source_keep value is not inherited":
|
|
|
+ - requires:
|
|
|
+ cluster_features: ["mapper.counted_keyword.synthetic_source_native_support"]
|
|
|
+ reason: "Feature implemented"
|
|
|
+
|
|
|
+ - do:
|
|
|
+ indices.create:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
+ settings:
|
|
|
+ index:
|
|
|
+ mapping.source.mode: synthetic
|
|
|
+ mappings:
|
|
|
+ properties:
|
|
|
+ event-object:
|
|
|
+ type: object
|
|
|
+ synthetic_source_keep: arrays
|
|
|
+ properties:
|
|
|
+ event-object-2:
|
|
|
+ type: object
|
|
|
+ properties:
|
|
|
+ events:
|
|
|
+ type: counted_keyword
|
|
|
+ - do:
|
|
|
+ index:
|
|
|
+ index: test-events
|
|
|
+ id: "1"
|
|
|
+ body: { "event-object": { "event-object-2": { "events": [ "a", "b", "a", "c" ] } } }
|
|
|
+
|
|
|
+ - do:
|
|
|
+ index:
|
|
|
+ index: test-events
|
|
|
+ id: "2"
|
|
|
+ body: { "event-object": { "event-object-2": { "events": [ "b", "b", "c", "a", "b" ] } } }
|
|
|
+
|
|
|
+ - do:
|
|
|
+ index:
|
|
|
+ index: test-events
|
|
|
+ id: "3"
|
|
|
+ body: { "event-object": { "event-object-2": { "events": [ "c", "a", null, "b", null, "c" ] } } }
|
|
|
+
|
|
|
+ - do:
|
|
|
+ index:
|
|
|
+ index: test-events
|
|
|
+ id: "4"
|
|
|
+ body: { "event-object": { "event-object-2": { "events": [ "a" ] } } }
|
|
|
+
|
|
|
+ - do:
|
|
|
+ index:
|
|
|
+ index: test-events
|
|
|
+ id: "5"
|
|
|
+ body: { "event-object": { "event-object-2": { "events": [ ] } } }
|
|
|
+
|
|
|
+ - do:
|
|
|
+ index:
|
|
|
+ index: test-events
|
|
|
+ id: "6"
|
|
|
+ body: { "event-object": { "event-object-2": { "events": [ null, null ] } } }
|
|
|
+
|
|
|
+ - do:
|
|
|
+ index:
|
|
|
+ index: test-events
|
|
|
+ id: "7"
|
|
|
+ body: { "event-object": { "event-object-2": { "events": [["a", "b"], "a", ["c"], [["b"], "c"]] } } }
|
|
|
+
|
|
|
+ - do:
|
|
|
+ indices.refresh: { }
|
|
|
+
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
+ query:
|
|
|
+ ids:
|
|
|
+ values: [ 1 ]
|
|
|
+ - match:
|
|
|
+ hits.hits.0._source:
|
|
|
+ event-object:
|
|
|
+ event-object-2:
|
|
|
+ events: [ "a", "a", "b", "c" ]
|
|
|
+
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
+ query:
|
|
|
+ ids:
|
|
|
+ values: [ 2 ]
|
|
|
+ - match:
|
|
|
+ hits.hits.0._source:
|
|
|
+ event-object:
|
|
|
+ event-object-2:
|
|
|
+ events: [ "a", "b", "b", "b", "c" ]
|
|
|
+
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
+ query:
|
|
|
+ ids:
|
|
|
+ values: [ 3 ]
|
|
|
+ - match:
|
|
|
+ hits.hits.0._source:
|
|
|
+ event-object:
|
|
|
+ event-object-2:
|
|
|
+ events: [ "a", "b", "c", "c" ]
|
|
|
+
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
+ query:
|
|
|
+ ids:
|
|
|
+ values: [ 4 ]
|
|
|
+ - match:
|
|
|
+ hits.hits.0._source:
|
|
|
+ event-object:
|
|
|
+ event-object-2:
|
|
|
+ events: "a"
|
|
|
+
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
+ query:
|
|
|
+ ids:
|
|
|
+ values: [ 5 ]
|
|
|
+ - match:
|
|
|
+ hits.hits.0._source: {}
|
|
|
+
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
+ query:
|
|
|
+ ids:
|
|
|
+ values: [ 6 ]
|
|
|
+ - match:
|
|
|
+ hits.hits.0._source: {}
|
|
|
+
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
+ query:
|
|
|
+ ids:
|
|
|
+ values: [ 7 ]
|
|
|
+ - match:
|
|
|
+ hits.hits.0._source:
|
|
|
+ event-object:
|
|
|
+ event-object-2:
|
|
|
+ events: [ "a", "a", "b", "b", "c", "c" ]
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+"Index-level synthetic_source_keep value is respected":
|
|
|
+ - requires:
|
|
|
+ cluster_features: ["mapper.counted_keyword.synthetic_source_native_support"]
|
|
|
+ reason: "Feature implemented"
|
|
|
+
|
|
|
+ - do:
|
|
|
+ indices.create:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
+ settings:
|
|
|
+ index:
|
|
|
+ mapping.source.mode: synthetic
|
|
|
+ mapping.synthetic_source_keep: arrays
|
|
|
+ mappings:
|
|
|
+ properties:
|
|
|
+ events:
|
|
|
+ type: counted_keyword
|
|
|
+
|
|
|
+ - do:
|
|
|
+ index:
|
|
|
+ index: test-events
|
|
|
+ id: "1"
|
|
|
+ body: { "events": [ "a", "b", "a", "c" ] }
|
|
|
+
|
|
|
+ - do:
|
|
|
+ index:
|
|
|
+ index: test-events
|
|
|
+ id: "2"
|
|
|
+ body: { "events": [ "b", "b", "c", "a", "b" ] }
|
|
|
+
|
|
|
+ - do:
|
|
|
+ index:
|
|
|
+ index: test-events
|
|
|
+ id: "3"
|
|
|
+ body: { "events": [ "c", "a", null, "b", null, "c" ] }
|
|
|
+
|
|
|
+ - do:
|
|
|
+ index:
|
|
|
+ index: test-events
|
|
|
+ id: "4"
|
|
|
+ body: { "events": [ "a" ] }
|
|
|
+
|
|
|
+ - do:
|
|
|
+ index:
|
|
|
+ index: test-events
|
|
|
+ id: "5"
|
|
|
+ body: { "events": [ ] }
|
|
|
+
|
|
|
+ - do:
|
|
|
+ index:
|
|
|
+ index: test-events
|
|
|
+ id: "6"
|
|
|
+ body: { "events": [ null, null ] }
|
|
|
+
|
|
|
+ - do:
|
|
|
+ index:
|
|
|
+ index: test-events
|
|
|
+ id: "7"
|
|
|
+ body: { "events": [ [ "a", "b" ], "a", [ "c" ], [ [ "b" ], "c" ] ] }
|
|
|
+
|
|
|
+ - do:
|
|
|
+ indices.refresh: { }
|
|
|
+
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
+ query:
|
|
|
+ ids:
|
|
|
+ values: [ 1 ]
|
|
|
+ - match:
|
|
|
+ hits.hits.0._source:
|
|
|
+ events: [ "a", "b", "a", "c" ]
|
|
|
+
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
+ query:
|
|
|
+ ids:
|
|
|
+ values: [ 2 ]
|
|
|
+ - match:
|
|
|
+ hits.hits.0._source:
|
|
|
+ events: [ "b", "b", "c", "a", "b" ]
|
|
|
+
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
+ query:
|
|
|
+ ids:
|
|
|
+ values: [ 3 ]
|
|
|
+ - match:
|
|
|
+ hits.hits.0._source:
|
|
|
+ events: [ "c", "a", null, "b", null, "c" ]
|
|
|
+
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
+ query:
|
|
|
+ ids:
|
|
|
+ values: [ 4 ]
|
|
|
+ - match:
|
|
|
+ hits.hits.0._source:
|
|
|
+ events: [ "a" ]
|
|
|
+
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
+ query:
|
|
|
+ ids:
|
|
|
+ values: [ 5 ]
|
|
|
+ - match:
|
|
|
+ hits.hits.0._source:
|
|
|
+ events: [ ]
|
|
|
+
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
+ query:
|
|
|
+ ids:
|
|
|
+ values: [ 6 ]
|
|
|
+ - match:
|
|
|
+ hits.hits.0._source:
|
|
|
+ events: [ null, null ]
|
|
|
+
|
|
|
+ - do:
|
|
|
+ search:
|
|
|
+ index: test-events
|
|
|
+ body:
|
|
|
+ query:
|
|
|
+ ids:
|
|
|
+ values: [ 7 ]
|
|
|
+ - match:
|
|
|
+ hits.hits.0._source:
|
|
|
+ events: [["a", "b"], "a", ["c"], [["b"], "c"]]
|