# Access a field in array using Painless scripted field

**URL:** <https://discuss.elastic.co/t/access-a-field-in-array-using-painless-scripted-field/250774>\
**Category:** Kibana\
**Tags:** painless\
**Created:** [October 2, 2020, 10:26am UTC](https://discuss.elastic.co/t/access-a-field-in-array-using-painless-scripted-field/250774 "2020-10-02T10:26:41Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![WatsonS](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/watsons/32/55467_2.png) [@WatsonS](https://discuss.elastic.co/u/WatsonS)\
**Post date:** [October 2, 2020, 10:26am UTC](https://discuss.elastic.co/t/access-a-field-in-array-using-painless-scripted-field/250774/1 "2020-10-02T10:26:41Z")

</div>

Hi,  
Since nested array is not well supported in Kibana, is there any way I could extract the value from the array using scripted field?

My data looks like this  
1st document:

"page\_name": [  
{  
"name": "New York"  
},  
{  
"url": "[https://newyork.com](https://newyork.com)"  
},  
]

2nd document:

"page\_name": [  
{  
"name": "Berlin"  
},  
{  
"url": "[https://berlin.de](https://berlin.de)"  
},  
]

It'd be great if I could use the Tag Cloud and visualize **page\_name.name**  
However, it seems not yet supported, so I figured may be I should use scripted field.

What is the script that allows me to access my field **page\_name.name**?

---

<div class="post-metadata">

**Author:** ![Marius\_Dragomir](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/marius_dragomir/32/42087_2.png) [@Marius\_Dragomir](https://discuss.elastic.co/u/Marius_Dragomir)\
**Post date:** [October 5, 2020, 4:53pm UTC](https://discuss.elastic.co/t/access-a-field-in-array-using-painless-scripted-field/250774/2 "2020-10-05T16:53:18Z")

</div>

`page_name.name` should work as a path for the string. Have you tried it and it's not working?

---

<div class="post-metadata">

**Author:** ![WatsonS](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/watsons/32/55467_2.png) [@WatsonS](https://discuss.elastic.co/u/WatsonS)\
**Post date:** [October 8, 2020, 4:27pm UTC](https://discuss.elastic.co/t/access-a-field-in-array-using-painless-scripted-field/250774/3 "2020-10-08T16:27:10Z")

</div>

I used

if(doc['page\_name.name.keyword']!= null)doc['page\_name.name.keyword']

and it still returns nothing, how can I access an index 0 of an array in painless?

---

<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:** [November 5, 2020, 4:27pm UTC](https://discuss.elastic.co/t/access-a-field-in-array-using-painless-scripted-field/250774/4 "2020-11-05T16:27:24Z")

</div>

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