Adrien Grand 7c698146f5 Rest: Add all meta fields to the top level json document.
Some of our meta fields (such as _id, _version, ...) are returned as top-level
properties of the json document, while other properties (_timestamp, _routing,
...) are returned under `fields`. This commit makes all meta fields returned
as top-level properties.

So eg. `GET test/test/1?fields=_timestamp,foo` would now return

```json
{
   "_index": "test",
   "_type": "test",
   "_id": "1",
   "_version": 1,
   "_timestamp": 10000000,
   "found": true,
   "fields": {
     "foo": [ "bar" ]
   }
}
```

while it used to return

```json
{
   "_index": "test",
   "_type": "test",
   "_id": "1",
   "_version": 1,
   "found": true,
   "fields": {
     "_timestamp": 10000000,
     "foo": [ "bar" ]
   }
}
```
2015-06-04 23:42:17 +02:00

60 lines
1.4 KiB
YAML

---
"Parent":
- do:
indices.create:
index: test_1
body:
mappings:
test:
_parent: { type: "foo" }
settings:
number_of_shards: 5
- do:
cluster.health:
wait_for_status: yellow
- do:
index:
index: test_1
type: test
id: 1
parent: 4
body: { foo: bar }
- do:
index:
index: test_1
type: test
id: 2
parent: 5
body: { foo: bar }
- do:
mget:
index: test_1
type: test
body:
docs:
- { _id: 1 }
- { _id: 1, parent: 5, fields: [ _parent, _routing ] }
- { _id: 1, parent: 4, fields: [ _parent, _routing ] }
- { _id: 2, parent: 5, fields: [ _parent, _routing ] }
- is_false: docs.0.found
- is_false: docs.1.found
- is_true: docs.2.found
- match: { docs.2._index: test_1 }
- match: { docs.2._type: test }
- match: { docs.2._id: "1" }
- match: { docs.2._parent: "4" }
- match: { docs.2._routing: "4" }
- is_true: docs.3.found
- match: { docs.3._index: test_1 }
- match: { docs.3._type: test }
- match: { docs.3._id: "2" }
- match: { docs.3._parent: "5" }
- match: { docs.3._routing: "5" }