Presets

Presets are saved search parameter templates. Define a preset once, then reference it by ID in search queries to merge its parameters automatically.

Create a Preset

PUT /presets/default_search
Content-Type: application/json
X-TYPESENSE-API-KEY: YOUR_API_KEY

{
  "value": {
    "searches": [
      {
        "query_by": "title,description",
        "sort_by": "_text_match:desc,price:asc",
        "per_page": 20,
        "facet_by": "category,brand"
      }
    ]
  }
}

A preset can contain any search parameters. When used in a query, the preset values are merged with the request parameters. Explicit request parameters take precedence over preset values.

Single Search Preset

For single search presets, wrap the parameters in a searches array with one entry:

{
  "value": {
    "searches": [
      {
        "query_by": "title",
        "per_page": 10,
        "num_typos": 1
      }
    ]
  }
}

Multi-Search Preset

Presets can also define multiple search queries for use with the /multi_search endpoint:

{
  "value": {
    "searches": [
      {"collection": "products", "query_by": "title", "per_page": 5},
      {"collection": "articles", "query_by": "body", "per_page": 3}
    ]
  }
}

Using a Preset

Reference a preset by ID in the preset parameter:

GET /collections/products/documents/search?\
q=shoes&preset=default_search
X-TYPESENSE-API-KEY: YOUR_API_KEY

The query parameters from the preset are merged into the request. Any parameter explicitly provided in the request overrides the preset value.

List Presets

GET /presets
X-TYPESENSE-API-KEY: YOUR_API_KEY

Get a Preset

GET /presets/default_search
X-TYPESENSE-API-KEY: YOUR_API_KEY

Delete a Preset

DELETE /presets/default_search
X-TYPESENSE-API-KEY: YOUR_API_KEY

Persistence

Presets are persisted to disk and restored on server restart.