Skip to content

Commit 183fa43

Browse files
authored
Merge pull request #5 from dachcom-digital/aggregation_filter_query_type
aggregation filter: configurable query type
2 parents 27c1535 + fa6d80e commit 183fa43

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/DsElasticSearchBundle/OutputChannel/Filter/AggregationFilter.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,17 @@ class AggregationFilter implements FilterInterface
4141
*/
4242
public function configureOptions(OptionsResolver $resolver)
4343
{
44-
$resolver->setRequired(['label', 'show_in_frontend', 'add_as_post_filter', 'multiple', 'relation_label', 'field']);
44+
$resolver->setRequired(['label', 'show_in_frontend', 'add_as_post_filter', 'multiple', 'relation_label', 'field', 'query_type']);
4545
$resolver->setAllowedTypes('show_in_frontend', ['bool']);
4646
$resolver->setAllowedTypes('add_as_post_filter', ['bool']);
4747
$resolver->setAllowedTypes('multiple', ['bool']);
4848
$resolver->setAllowedTypes('label', ['string', 'null']);
4949
$resolver->setAllowedTypes('relation_label', ['closure', 'null']);
5050
$resolver->setAllowedTypes('field', ['string']);
51-
51+
$resolver->setAllowedTypes('query_type', ['string']);
52+
5253
$resolver->setDefaults([
54+
'query_type' => BoolQuery::MUST,
5355
'show_in_frontend' => true,
5456
'add_as_post_filter' => false,
5557
'multiple' => true,
@@ -178,7 +180,7 @@ protected function addQueryFilter(Search $query, array $queryFields)
178180

179181
foreach ($value as $relationValue) {
180182
$relationQuery = new TermQuery($this->name, $relationValue);
181-
$boolQuery->add($relationQuery, BoolQuery::MUST);
183+
$boolQuery->add($relationQuery, $this->options['query_type']);
182184
}
183185

184186
if ($this->options['add_as_post_filter'] === true) {

0 commit comments

Comments
 (0)