@@ -41,15 +41,17 @@ class AggregationFilter implements FilterInterface
41
41
*/
42
42
public function configureOptions (OptionsResolver $ resolver )
43
43
{
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 ' ]);
45
45
$ resolver ->setAllowedTypes ('show_in_frontend ' , ['bool ' ]);
46
46
$ resolver ->setAllowedTypes ('add_as_post_filter ' , ['bool ' ]);
47
47
$ resolver ->setAllowedTypes ('multiple ' , ['bool ' ]);
48
48
$ resolver ->setAllowedTypes ('label ' , ['string ' , 'null ' ]);
49
49
$ resolver ->setAllowedTypes ('relation_label ' , ['closure ' , 'null ' ]);
50
50
$ resolver ->setAllowedTypes ('field ' , ['string ' ]);
51
-
51
+ $ resolver ->setAllowedTypes ('query_type ' , ['string ' ]);
52
+
52
53
$ resolver ->setDefaults ([
54
+ 'query_type ' => BoolQuery::MUST ,
53
55
'show_in_frontend ' => true ,
54
56
'add_as_post_filter ' => false ,
55
57
'multiple ' => true ,
@@ -178,7 +180,7 @@ protected function addQueryFilter(Search $query, array $queryFields)
178
180
179
181
foreach ($ value as $ relationValue ) {
180
182
$ relationQuery = new TermQuery ($ this ->name , $ relationValue );
181
- $ boolQuery ->add ($ relationQuery , BoolQuery:: MUST );
183
+ $ boolQuery ->add ($ relationQuery , $ this -> options [ ' query_type ' ] );
182
184
}
183
185
184
186
if ($ this ->options ['add_as_post_filter ' ] === true ) {
0 commit comments