@@ -193,11 +193,22 @@ instance ToJSON Query where
193193 toJSON (QueryNestedQuery query) =
194194 object [ "nested" .= toJSON query ]
195195
196+ toJSON (QueryPrefixQuery query) =
197+ object [ "prefix" .= toJSON query ]
198+
196199
197200mField :: (ToJSON a, Functor f) => T.Text -> f a -> f (T.Text, Value)
198201mField field = fmap ((field .=) . toJSON)
199202
200203
204+instance PrefixQuery where
205+ toJSON (PrefixQuery (FieldName fieldName) queryValue boost) =
206+ object [ fieldName .= object conjoined ]
207+ where base = [ "value" .= toJSON queryValue ]
208+ maybeAdd = [ mField "boost" boost ]
209+ conjoined = base ++ maybeAdd
210+
211+
201212instance NestedQuery where
202213 toJSON (NestedQuery path scoreType query) =
203214 object [ "path" .= toJSON path