@@ -1063,6 +1063,7 @@ data Filter = AndFilter [Filter] Cache
1063 | LimitFilter Int
1063 | LimitFilter Int
1064 | MissingFilter FieldName Existence NullValue
1064 | MissingFilter FieldName Existence NullValue
1065 | PrefixFilter FieldName PrefixValue Cache
1065 | PrefixFilter FieldName PrefixValue Cache
1066+ | QueryFilter Query Cache
1066 | RangeFilter FieldName RangeValue RangeExecution Cache
1067 | RangeFilter FieldName RangeValue RangeExecution Cache
1067 | RegexpFilter FieldName Regexp RegexpFlags CacheName Cache CacheKey
1068 | RegexpFilter FieldName Regexp RegexpFlags CacheName Cache CacheKey
1068 | TermFilter Term Cache
1069 | TermFilter Term Cache
@@ -1505,6 +1506,13 @@ instance ToJSON Filter where
1505 object [fieldName .= fieldValue
1506 object [fieldName .= fieldValue
1506 , "_cache" .= cache]]
1507 , "_cache" .= cache]]
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 ]]
1508 toJSON (RangeFilter (FieldName fieldName) rangeValue rangeExecution cache) =
1516 toJSON (RangeFilter (FieldName fieldName) rangeValue rangeExecution cache) =
1509 object ["range" .=
1517 object ["range" .=
1510 object [ fieldName .= object (rangeValueToPair rangeValue)
1518 object [ fieldName .= object (rangeValueToPair rangeValue)