@@ -1063,6 +1063,7 @@ data Filter = AndFilter [Filter] Cache
10631063 | LimitFilter Int
10641064 | MissingFilter FieldName Existence NullValue
10651065 | PrefixFilter FieldName PrefixValue Cache
1066+ | QueryFilter Query Cache
10661067 | RangeFilter FieldName RangeValue RangeExecution Cache
10671068 | RegexpFilter FieldName Regexp RegexpFlags CacheName Cache CacheKey
10681069 | TermFilter Term Cache
@@ -1505,6 +1506,13 @@ instance ToJSON Filter where
15051506 object [fieldName .= fieldValue
15061507 , "_cache" .= cache]]
15071508
1509+ toJSON (QueryFilter query False) =
1510+ object ["query" .= toJSON query ]
1511+ toJSON (QueryFilter query True) =
1512+ object ["fquery" .=
1513+ object [ "query" .= toJSON query
1514+ , "_cache" .= True ]]
1515+
15081516 toJSON (RangeFilter (FieldName fieldName) rangeValue rangeExecution cache) =
15091517 object ["range" .=
15101518 object [ fieldName .= object (rangeValueToPair rangeValue)