@@ -986,6 +986,7 @@ data Filter = AndFilter [Filter] Cache
986 | LimitFilter Int
986 | LimitFilter Int
987 | MissingFilter FieldName Existence NullValue
987 | MissingFilter FieldName Existence NullValue
988 | PrefixFilter FieldName PrefixValue Cache
988 | PrefixFilter FieldName PrefixValue Cache
989+ | QueryFilter Query Cache
989 | RangeFilter FieldName RangeValue RangeExecution Cache
990 | RangeFilter FieldName RangeValue RangeExecution Cache
990 | RegexpFilter FieldName Regexp RegexpFlags CacheName Cache CacheKey
991 | RegexpFilter FieldName Regexp RegexpFlags CacheName Cache CacheKey
991 | TermFilter Term Cache
992 | TermFilter Term Cache
@@ -1428,6 +1429,13 @@ instance ToJSON Filter where
1428 object [fieldName .= fieldValue
1429 object [fieldName .= fieldValue
1429 , "_cache" .= cache]]
1430 , "_cache" .= cache]]
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 ]]
1431 toJSON (RangeFilter (FieldName fieldName) rangeValue rangeExecution cache) =
1439 toJSON (RangeFilter (FieldName fieldName) rangeValue rangeExecution cache) =
1432 object ["range" .=
1440 object ["range" .=
1433 object [ fieldName .= object (rangeValueToPair rangeValue)
1441 object [ fieldName .= object (rangeValueToPair rangeValue)