# Runtime field Create Nested Object

**URL:** <https://discuss.elastic.co/t/runtime-field-create-nested-object/312316>\
**Category:** Elasticsearch\
**Tags:** runtime-fields\
**Created:** [August 17, 2022, 5:55pm UTC](https://discuss.elastic.co/t/runtime-field-create-nested-object/312316 "2022-08-17T17:55:05Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![JeremyP](https://avatars.discourse-cdn.com/v4/letter/j/43a26b/32.png) [@JeremyP](https://discuss.elastic.co/u/JeremyP)\
**Post date:** [August 17, 2022, 5:55pm UTC](https://discuss.elastic.co/t/runtime-field-create-nested-object/312316/1 "2022-08-17T17:55:05Z")

</div>

Hello,

I'm trying to create a run-time field which creates an array. I've been doing simple things like creating strings based on a conditional field but I can't seem to get the right syntax for a multi-value string object. This is currently what I'm looking to do....

(this is done within Kibana)

`if (doc['criteria.keyword'].value == 'condition') emit('result1','result2');`

Expected result:

```auto
"test": [
  "result1",
  "result2"
]

```

The emit I've used below fires a syntax error about having more than one condition.

Thanks for the assistance.

---

<div class="post-metadata">

**Author:** ![jsanz](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jsanz/32/53734_2.png) [@jsanz](https://discuss.elastic.co/u/jsanz)\
**Post date:** [September 9, 2022, 3:07pm UTC](https://discuss.elastic.co/t/runtime-field-create-nested-object/312316/2 "2022-09-09T15:07:13Z")

</div>

Reading the signatures of the `emit` method in the documentation I don't think arrays are supported, but I may be wrong.

> **[Runtime fields context | Painless Scripting Language \[8.4\] | Elastic](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-runtime-fields-context.html)**

---

<div class="post-metadata">

**Author:** ![vincenbr](https://avatars.discourse-cdn.com/v4/letter/v/8edcca/32.png) [@vincenbr](https://discuss.elastic.co/u/vincenbr)\
**Post date:** [September 12, 2022, 4:07pm UTC](https://discuss.elastic.co/t/runtime-field-create-nested-object/312316/3 "2022-09-12T16:07:23Z")

</div>

Hi @JeremyP , you can call emit() multiple times in your script in order to return a multi-valued field.

---

<div class="post-metadata">

**Author:** ![JeremyP](https://avatars.discourse-cdn.com/v4/letter/j/43a26b/32.png) [@JeremyP](https://discuss.elastic.co/u/JeremyP)\
**Post date:** [September 13, 2022, 7:45pm UTC](https://discuss.elastic.co/t/runtime-field-create-nested-object/312316/4 "2022-09-13T19:45:55Z")

</div>

Interesting. I think I did this but it did not work. Based on this I concluded that once there is a match, it no longer processes the other lines.

---

<div class="post-metadata">

**Author:** ![vincenbr](https://avatars.discourse-cdn.com/v4/letter/v/8edcca/32.png) [@vincenbr](https://discuss.elastic.co/u/vincenbr)\
**Post date:** [September 14, 2022, 8:47am UTC](https://discuss.elastic.co/t/runtime-field-create-nested-object/312316/5 "2022-09-14T08:47:19Z")

</div>

If you'd like further advice, please provide a reproducible test (for instance one request to index a document, and one search query with a runtime field)

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [October 12, 2022, 8:47am UTC](https://discuss.elastic.co/t/runtime-field-create-nested-object/312316/6 "2022-10-12T08:47:41Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
