-
Aivaras Gotovskis authoredAivaras Gotovskis authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Post.md 1.52 KiB
Post Filter
More info about post filter is in the official elasticsearch docs
The post filters are filters that are applied to the search hits at the very end of a search request, after aggregations have already been calculated.
To add post filters use addPostFilter
method in Search
object.
addPostFilter
works like query and filter adders - you can add as many
filters as you want and bool filter will be formed if endpoint has multiple
filters or bool type parameter was provided.
Simple example
{
"post_filter": {
"term": { "color": "red" }
}
}
And now the query via DSL:
$termFilter = new TermFilter('color', 'red');
$search = new Search();
$search->addPostFilter($termFilter);
$queryArray = $search->toArray();
Bool example
{
"post_filter": {
"bool": {
"must": [
{
"term": {
"color": "red"
}
},
{
"term": {
"brand": "ana"
}
}
]
}
}
}
And now the query via DSL:
$termFilter1 = new TermFilter('color', 'red');
$termFilter2 = new TermFilter('brand', 'ana');
$search = new Search();
$search->addPostFilter($termFilter1);
$search->addPostFilter($termFilter2);
$queryArray = $search->toArray();