0

I am trying to create a rows_processed field by adding 2 fields src_s_rows and tgt_s_rows, but some how it is not working, it always gives me 0. Even when I give "script": "(doc['src_s_rows'].value)" instead of "script": "(doc['src_s_rows'].value+doc['tgt_s_rows'].value)" it still gives me 0.

What is it that I am missing, please help.

GET run_hist/task_hist/_search
{
   "fields": [
      "THROUGHPUT_ROWS_PER_SEC",
      "start_time",
      "end_time",
      "src_s_rows",
      "tgt_s_rows"
   ],
   "query": {
      "filtered": {
         "filter": {
            "bool": {
               "must": [
                  {
                     "term": {
                        "_id": "249885850"
                     }
                  }
               ]
            }
         }
      }
   },
   "filter": {
      "script": {
         "script": "(doc['end_time'].value-doc['start_time'].value)>minutes*1",
         "params": {
            "minutes": 60000
         }
      }
   },
   "script_fields": {
      "total_time_taken": {
         "script": "(doc['end_time'].value-doc['start_time'].value)/1000"
      },
      "rows_processed": {
         "script": "(doc['src_s_rows'].value+doc['tgt_s_rows'].value)"
      }
   },
   "size": 10000
}

Screenshot given below

enter image description here

1 Answer 1

1

Use _source.src_s_rows.value in place of doc['src_s_rows'].value

try this

"script": "(_source.src_s_rows.value+_source.tgt_s_rows.value)"
Sign up to request clarification or add additional context in comments.

1 Comment

This worked for me as well, but why? All the documentation points to using "doc"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.