Skip to content

Developers · Data

Search Introduction

Last updated 1 November 2026

Let people search your records by keyword with the fulltext condition, ranked by relevance.

Search lets people find records by typing words, the way they use a search box. Insites keeps a search index of your records, and the fulltext condition of the records query searches it. Results come back ranked by relevance.

Search or filter

Search (fulltext)Filter (properties)
MatchesWords, ranked by relevanceExact conditions on a field
Typing errorsTolerated with FUZZYNot tolerated
Use it forA search boxLists, dropdown filters, lookups

See Filtering and sorting for exact conditions.

Example: search page titles

Query

{
  records(
    per_page: 3
    filter: {
      table: { value: "modules/website/developers_guide" }
      fulltext: {
        keyword: "flash"
        fields: [{ name: "properties.title", priority: 2 }]
        match_type: STARTS_WITH
      }
    }
  ) {
    total_entries
    results { slug: property(name: "slug") }
  }
}

Response on the docs instance

{
  "data": {
    "records": {
      "total_entries": 1,
      "results": [{ "slug": "form-flash-messages" }]
    }
  }
}

This ran read-only on the docs.insites.io instance on 1 November 2026. A FUZZY search for the misspelled word layuots on the same field found six pages, the first being Layouts.

The search options

OptionMeaning
keywordThe text to find. ? matches one character and * any number
operatorAND (the default) needs every word; OR needs at least one
fieldsThe fields to search, each with a priority. All indexed fields when left out
match_typeEXACT (the default), STARTS_WITH, ENDS_WITH, CONTAINS or FUZZY

Only the best 10,000 matches are considered, and fulltext works only at the top level of the filter, not inside or.

Common mistakes

  • Naming a field as just title. For records, write properties.title.
  • Expecting EXACT to find part of a word. It matches whole words; use STARTS_WITH or CONTAINS.
  • Putting fulltext inside or. It is ignored there.