ES Version: 7.8
I am trying to use the following to check if a value is present in an array of strings, but I get a runtime error every time:
{
"script": {
"source": "doc['mediaDetails.tags'].values.contains('Highlight')"
}
ES Version: 7.8
I am trying to use the following to check if a value is present in an array of strings, but I get a runtime error every time:
{
"script": {
"source": "doc['mediaDetails.tags'].values.contains('Highlight')"
}
Now I get the following when trying other access methods:
{
"took" : 8,
"timed_out" : false,
"_shards" : {
"total" : 2,
"successful" : 1,
"skipped" : 0,
"failed" : 1,
"failures" : [
{
"shard" : 0,
"index" : "videos_eric_meadows",
"node" : "T453XWINT3mqBPradGk4zQ",
"reason" : {
"type" : "script_exception",
"reason" : "runtime error",
"script_stack" : [
"params['_source']['mediaDetails']['primaryTags'].length",
" ^---- HERE"
],
"script" : "params['_source']['mediaDetails']['primaryTags'].length",
"lang" : "painless",
"position" : {
"offset" : 48,
"start" : 0,
"end" : 55
},
"caused_by" : {
"type" : "null_pointer_exception",
"reason" : "Cannot invoke \"Object.getClass()\" because \"callArgs[0]\" is null"
}
}
}
]
},
"hits" : {
"total" : {
"value" : 10000,
"relation" : "gte"
},
"max_score" : 1.0,
"hits" : [ ]
}
}
Solved by fixing the field type. The field type was set to int, but when I added in a string, it converted it to text.
This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
© 2020. All Rights Reserved - Elasticsearch
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant logo are trademarks of the Apache Software Foundation in the United States and/or other countries.