Query Stages API
Table of Contents
The Query Stages API provides endpoints to:
-
List query stage configuration properties
-
Manage query stage instances
-
Test processing on a set of queries
Examples
See all defined query pipeline stages, regardless of type:
REQUEST
curl -u USERNAME:PASSWORD https://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 USERNAME:PASSWORD -X POST -H 'Content-type: application/json' -d'{ "type" : "query-logging", "id" : "detailed-logging", "detailed" : true }' https://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 USERNAME:PASSWORD -X PUT -H 'Content-type: application/json' -d'{ "type" : "query-logging", "id" : "detailed-logging", "detailed" : true, "label" : "detailed-query-logging" }' https://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 USERNAME:PASSWORD -X DELETE https://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 USERNAME:PASSWORD -X POST -H 'Content-type: application/json' -d '{"type":"set-params", "params":[{"key":"rows", "value":"2", "policy":"append"}]}' https://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
}
Get the properties for the "apply-defaults" type:
REQUEST
curl -u USERNAME:PASSWORD https://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