@@ -986,6 +986,7 @@ data Filter = AndFilter [Filter] Cache
986986 | LimitFilter Int
987987 | MissingFilter FieldName Existence NullValue
988988 | PrefixFilter FieldName PrefixValue Cache
989+ | QueryFilter Query Cache
989990 | RangeFilter FieldName RangeValue RangeExecution Cache
990991 | RegexpFilter FieldName Regexp RegexpFlags CacheName Cache CacheKey
991992 | TermFilter Term Cache
@@ -1428,6 +1429,13 @@ instance ToJSON Filter where
14281429 object [fieldName .= fieldValue
14291430 , "_cache" .= cache]]
14301431
1432+ toJSON (QueryFilter query False) =
1433+ object ["query" .= toJSON query ]
1434+ toJSON (QueryFilter query True) =
1435+ object ["fquery" .=
1436+ object [ "query" .= toJSON query
1437+ , "_cache" .= True ]]
1438+
14311439 toJSON (RangeFilter (FieldName fieldName) rangeValue rangeExecution cache) =
14321440 object ["range" .=
14331441 object [ fieldName .= object (rangeValueToPair rangeValue)