Query Stages API
- Examples
- Query Stages API Endpoint Specs
- http://fusion-host:8764/api/query-stages/instances
- http://fusion-host:8764/api/query-stages/instances/{id}
- http://fusion-host:8764/api/query-stages/instances/{id}/test
- http://fusion-host:8764/api/query-stages/schema
- http://fusion-host:8764/api/query-stages/schema/{type}
- http://fusion-host:8764/api/query-stages/status
- http://fusion-host:8764/api/query-stages/test
The Query Stages API provides endpoints to:
-
Manage query stage instances
-
List query stage configuration properties
-
Test processing on a set of queries
Examples
Get the properties for the "apply-defaults" type:
REQUEST
curl -u user:pass http://fusion-host:8764/api/query-stages/schema/set-params
RESPONSE
{ "type" : "object", "title" : "Additional Query Parameters", "description" : "This stage allows you to set, append, and remove additional query parameters", "properties" : { "skip" : { "type" : "boolean", "title" : "Skip This Stage", "description" : "Set to true to skip this stage.", "default" : false, "hints" : [ "advanced" ] }, "label" : { "type" : "string", "title" : "Label", "description" : "A unique label for this stage.", "hints" : [ "advanced" ], "maxLength" : 255 }, "condition" : { "type" : "string", "title" : "Condition", "description" : "Define a conditional script that must result in true or false. This can be used to determine if the stage should process or not.", "hints" : [ "code", "javascript", "advanced" ] }, "params" : { "type" : "array", "title" : "Parameters and Values", "items" : { "type" : "object", "required" : [ "key" ], "properties" : { "key" : { "type" : "string", "title" : "Parameter Name" }, "value" : { "type" : "string", "title" : "Parameter Value" }, "policy" : { "type" : "string", "title" : "Update Policy", "enum" : [ "replace", "append", "remove", "default" ], "default" : "append" } } } } }, "category" : "Advanced", "categoryPriority" : 2
See all defined query pipeline stages, regardless of type:
REQUEST
curl -u user:pass http://fusion-host:8764/api/query-stages/instances
RESPONSE
[{ "type" : "query-logging", "id" : "detailed-logging", "detailed" : true, "skip" : false, "label" : "detailed-query-logging", }]
Add a new query stage:
REQUEST
curl -u user:pass -X POST -H 'Content-type: application/json' -d'{ "type" : "query-logging", "id" : "detailed-logging", "detailed" : true }' http://fusion-host:8764/api/query-stages/instances
RESPONSE
{ "type" : "query-logging", "id" : "detailed-logging", "detailed" : true, "skip" : false, "label" : "query-logging" }
Update a query stage:
REQUEST
curl -u user:pass -X PUT -H 'Content-type: application/json' -d'{ "type" : "query-logging", "id" : "detailed-logging", "detailed" : true, "label" : "detailed-query-logging" }' http://fusion-host:8764/api/query-stages/instances/detailed-logging
RESPONSE
{ "type" : "query-logging", "id" : "detailed-logging", "detailed" : true, "skip" : false, "label" : "detailed-query-logging", }
Note that all required elements must be included in the update.
Delete a query stage:
REQUEST
curl -u user:pass -X DELETE http://fusion-host:8764/api/query-stages/instances/detailed-logging
No response is returned. To check that the stage is no longer defined, list all query stage instances.
Test that a set-params stage defines properties correctly:
REQUEST
curl -u user:pass -X POST -H 'Content-type: application/json' -d '{"type":"set-params", "params":[{"key":"rows", "value":"2", "policy":"append"}]}' http://fusion-host:8764/api/query-stages/solr/test?q=*:*
RESPONSE
{ "request" : { "headers" : { "User-Agent" : [ "curl/7.30.0" ], "Content-Type" : [ "application/json" ], "Accept" : [ "*/*" ], "Host" : [ "fusion-host:{api-port}" ], "Content-Length" : [ "80" ] }, "params" : { "q" : [ "*:*" ], "rows" : [ "2" ] } }, "response" : null, "totalTime" : 0 }