> ## Documentation Index
> Fetch the complete documentation index at: https://nikita-shkoda.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Quick reference to the Guidebook flows.

Related: <a href="/projects/search-engine-for-typesense/v30/models">Models</a>, <a href="/projects/search-engine-for-typesense/v30/relation">Relation</a>, <a href="/projects/search-engine-for-typesense/v30/indexer">Indexer</a>, <a href="/projects/search-engine-for-typesense/v30/schema">Schema</a>, <a href="/projects/search-engine-for-typesense/v30/joins">JOINs</a>

Use this section as a quick reference for common flows. Start with the page that matches what you are doing right now.

<CardGroup cols={2}>
  <Card title="Model configuration" href="/projects/search-engine-for-typesense/v30/guidebook-model-configuration">
    Define collections, fields, identity, and defaults.
  </Card>

  <Card title="Indexing" href="/projects/search-engine-for-typesense/v30/guidebook-indexing">
    Map source data and build documents.
  </Card>

  <Card title="Reindexing" href="/projects/search-engine-for-typesense/v30/guidebook-reindexing">
    Apply schema changes with blue/green swaps.
  </Card>

  <Card title="Searching and filtering" href="/projects/search-engine-for-typesense/v30/guidebook-searching-filtering">
    Query, filter, paginate, and select fields.
  </Card>

  <Card title="JOINs and relations" href="/projects/search-engine-for-typesense/v30/guidebook-joins-relations">
    Declare relationships and query across collections.
  </Card>

  <Card title="Scopes and advanced ORM" href="/projects/search-engine-for-typesense/v30/guidebook-scopes-advanced-orm">
    Compose scopes, presets, curation, grouping, and more.
  </Card>
</CardGroup>

## Common flows

* Model configuration: define <code>collection</code>, <code>attribute</code>, <code>identify\_by</code>, <code>query\_by</code>.
* Indexing: map source records with <code>index do ... map</code>.
* Reindexing: run <code>Schema.apply!</code> with a rebuild block.
* Searching: chain <code>search</code>, <code>order</code>, <code>page</code>, <code>per</code>.
* Filtering: use <code>where</code> with hashes, templates, or raw strings.
* Joining: declare associations and use <code>joins</code> with nested filters.
* Scopes: define reusable filters on the model.
* Advanced ORM: combine join, scope, filter, search, and selection.
* Relations: model one-to-one, one-to-many, and many-to-many patterns.
