Filter identifiers

Koncorde filter identifiers are calculated from the filters provided to the DSL, guaranteeing that differently written filters matching the same scope will get the same identifier.

For instance, both these filters will get the same filter identifier:

{
  "and": [
    {
      "not": {
        "in": {"some_document_field": ["foo", "bar"]}
      }
    },
    {"missing": {"field": "another_field"}}
  ]
}

And:

{
  "not": {
    "or": [
      {
        "or": [
          {"equals": {"some_document_field": "foo"}},
          {"equals": {"some_document_field": "bar"}}
        ]
      },
      {"exists": {"field": "another_field"}}
    ]
  }
}

For more information, please check Koncorde documentation