# Params.\_source is always null in script query

**URL:** <https://discuss.elastic.co/t/params-source-is-always-null-in-script-query/379484>\
**Category:** Elasticsearch\
**Tags:** runtime-fields\
**Created:** [June 25, 2025, 6:04pm UTC](https://discuss.elastic.co/t/params-source-is-always-null-in-script-query/379484 "2025-06-25T18:04:49Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![ACoder](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/acoder/32/113449_2.png) [@ACoder](https://discuss.elastic.co/u/ACoder)\
**Post date:** [June 25, 2025, 6:04pm UTC](https://discuss.elastic.co/t/params-source-is-always-null-in-script-query/379484/1 "2025-06-25T18:04:49Z")

</div>

The following two queries should return the same results:

```auto
GET iam-api-accounts/_search
{
  "query": {
    "bool": {
      "filter": {
        "script": {
          "script": """
            return params._source?.roles?.dance != null && params._source?.roles?.dance != false
          """
        }
      }
    }
  }
}
GET iam-api-accounts/_search
{
  "runtime_mappings": {
    "dance_exists": {
      "type": "boolean",
      "script": """
        emit(params._source?.roles?.dance != null && params._source?.roles?.dance != false);
      """
    }
  },
  "query": {
    "term": {
      "dance_exists": true
    }
  }
}

```

However, `params._source` is always null in the first query; only the second one returns the correct results.

---

<div class="post-metadata">

**Author:** ![Tortoise](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tortoise/32/147587_2.png) [@Tortoise](https://discuss.elastic.co/u/Tortoise)\
**Post date:** [June 26, 2025, 5:31am UTC](https://discuss.elastic.co/t/params-source-is-always-null-in-script-query/379484/2 "2025-06-26T05:31:44Z")

</div>

Hello @ACoder

I was able to fetch the results using below query :

```auto
GET iam-api-accounts/_search
{
  "query": {
    "bool": {
      "filter": {
        "script": {
          "script": """
            return doc['roles.dance'].size() != 0 && doc['roles.dance'].value != false;
          """
        }
      }
    }
  }
}

```

I believe at query time we cannot use params.\_source

Thanks!!
