### Parsing a single array:
{{{
$filter = $builder->parse([
'name' => 'mark',
'age <=' => 35
]);
Equivalent to:
$filter = [
$builder->term('name', 'mark'),
$builder->lte('age', 35)
];
}}}
### Creating "or" conditions:
{{{
$filter = $builder->parse([
'or' => [
'name' => 'mark',
'age <=' => 35
]
]);
Equivalent to:
$filter = [$builder->or(
$builder->term('name', 'mark'),
$builder->lte('age', 35)
)];
}}}
### Negating conditions:
{{{
$filter = $builder->parse([
'not' => [
'name' => 'mark',
'age <=' => 35
]
]);
Equivalent to:
$filter = [$builder->not(
$builder->and(
$builder->term('name', 'mark'),
$builder->lte('age', 35)
)
)];
}}}
### Checking for field existance
{{{
$filter = $builder->parse([
'name is' => null,
'age is not' => null
]);
Equivalent to:
$filter = [
$builder->missing('name'),
$builder->exists('age')
];
}}}
### Checking if a value is in a list of terms
{{{
$filter = $builder->parse([
'name in' => ['jose', 'mark']
]);
Equivalent to:
$filter = [$builder->terms('name', ['jose', 'mark'])]
}}}
The list of supported operators is:
<, >, <=, >=, in, not in, is, is not, !=