The Query Rewrite API manages documents used for query rewriting to improve relevancy using AI-generated data. For more information, view the API specification.

Query Rewrite Rules Configuration

To access detailed information about configuring the rewrite functions and rules for the Query Rewrite API, see Query Rewrite API Configurations.

Examples

View configuration options

To see full configuration options using the Query Rewrite API:
  • All rules. https://FUSION_HOST:FUSION_PORT/api/apps/APP_NAME/query-rewrite/schema
  • Individual rules. https://FUSION_HOST:FUSION_PORT/api/apps/APP_NAME/query-rewrite/schema/RULE_TYPE
    The RULE_TYPE values are found at the …​/query-rewrite/schema endpoint: oneOf > 0 > properties > type > default.
{
    "pinned_values": {
        "type": "array",
        "title": "Pinned Documents",
        "description": "A list of one or more documents to boost and pin to specific positions in the results (1-based index). Note that pinning will only be applied to the first page of results.",
        "minItems": 1,
        "items": {
            "type": "object",
            "required": ["value", "position"],
            "properties": {
                "value": {
                    "type": "string",
                    "title": "Value",
                    "description": "Value to boost"
                },
                "position": {
                    "type": "integer",
                    "title": "Position",
                    "description": "Absolute position in the first page of results (1-based index)"
                }
            }
        }}},

Create a blocklist rule

curl -u USERNAME:PASSWORD -XPOST -H "Content-type:application/json" https://FUSION_HOST:FUSION_PORT/api/apps/APP_NAME/query-rewrite/instances -d

'{
  "id": "block_list_rule_1",
  "name": "block_list_rule_1",
  "type": "block_list",
  "field_name": "id",
  "field_values": ["6","17"],
  "enabled": true,
  "priority":11,
  "search_terms":["life"],
  "matching": "keywords"
}'

Update specific fields in an existing rule

curl -u USERNAME:PASSWORD -XPUT -H "Content-type:application/json" https://FUSION_HOST:FUSION_PORT/api/apps/APP_NAME/query-rewrite/instances -d

'{
  "id": "block_list_rule_1",
  "name": "block_list_rule_1",
  "type": "block_list",
  "field_name": "id",
  "field_values": ["6","17"],
  "enabled": false,
  "priority":9,
  "search_terms":["life"],
  "matching": "keywords"
}'
When making a PUT request to query-rewrite/instances include as a body JSON {"create":[],"update":[],"delete":[],} to avoid errors for missing properties.

Publish rules in the staging area

curl -u USERNAME:PASSWORD -X PUT -H 'Content-Type: application/json' https://FUSION_HOST:FUSION_PORT/api/apps/APP_NAME/query-rewrite/publish

Delete a published rule

curl -u USERNAME:PASSWORD -XPUT -H "Content-type:application/json" https://FUSION_HOST:FUSION_PORT/api/apps/APP_NAME/query-rewrite/instances -d

'{
  "delete": [ “block_list_rule_1" ]
}'

Publish an operation

curl -u USERNAME:PASSWORD -XPUT -H "Content-type:application/json" https://FUSION_HOST:FUSION_PORT/api/apps/APP_NAME/query-rewrite/publish