# lstpsche docs ## Docs - [Connect to AI Tools](https://nikita-shkoda.mintlify.app/ai-tools/mcp-setup.md): Access documentation directly in your IDE and AI tools via MCP - [ActiveRecordSyncable](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/active-record-syncable.md): Keep a Typesense collection in sync with your ActiveRecord model. Upserts on create/update and deletes on destroy. - [Cascading](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/cascading.md): Keep referencing collections consistent when a referenced document changes. Discovery, partial vs full reindex, usage, and instrumentation. - [CLI](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/cli.md): Operator-focused tasks for schema lifecycle and indexing. Thin facades over documented APIs with structured instrumentation. - [Client](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/client.md): Thin wrapper around the official typesense Ruby gem. Single-search and federated multi-search with URL/common cache knobs and normalized errors. - [Collections Graph](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/collections-graph.md): Render a live graph of your Typesense collections and their interconnections (Unicode or ASCII), plus Mermaid output for docs. - [Compiler](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/compiler.md): Pure, deterministic compiler from AST to Typesense params. Quoting, precedence, node mapping, and integration. - [Configuration](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/configuration.md): All configuration lives under SearchEngine.config. Reference, ENV mapping, and practical notes. - [Contributing](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/contributing.md): How to contribute to SearchEngine for Typesense: issues, PRs, docs updates, and local docs preview. - [Query Cookbook — Common Patterns](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/cookbook-queries.md): Copy minimal, production-ready patterns and adapt fields to your models. Use dry_run!/explain to debug without I/O. - [Curation](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/curation.md): Pin or hide hits by ID, attach curation tags, and optionally filter hidden hits from the materialized view. - [Debugging](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/debugging.md): Compile-time instrumentation and developer-friendly introspection for relations via explain and events. - [Deferred Typesense Features](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/deferred-typesense-features.md): Catalog Typesense capabilities relevant to deferred features. Capability tables, proposed DSL shapes, compiler mappings, and recommendations. - [Deletion](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/deletion.md): Delete documents by filter. Relation-level delete_all, model-level helpers, and low-level API with into/partition/timeout controls. - [Docs Style Guide](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/docs-style-guide.md): Keep docs consistent, clear, and easy to navigate: tone, headings, code fences, mermaid, backlinks, links, and YARDoc cross-refs. - [DX](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/dx.md): Developer-experience helpers: to_params_json, to_curl, dry_run!, explain, generators, and console helpers. - [Faceting](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/faceting.md): Add facets and facet queries. Compiler mapping to Typesense params and result helpers. - [Field Selection](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/field-selection.md): Concise, immutable DSL on Relation for selecting/excluding fields, including nested join fields. Normalization, precedence, and compiler mapping. - [Geo Search](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/geo-search.md): Filter by radius or polygon, sort by distance, boost viewport results with _eval(), and access geo_distance_meters on hits. - [Grouping](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/grouping.md): Group results by a key and cap hits per group. Compiler mapping and result access patterns. - [Overview](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/guidebook.md): Quick reference to the Guidebook flows. - [Indexing](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/guidebook-indexing.md): Fastest ways to build documents into a collection. - [JOINs and relations](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/guidebook-joins-relations.md): Declare associations, query across collections, and model common relationship patterns. - [Model configuration](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/guidebook-model-configuration.md): Define collections, fields, identity, and defaults. - [Reindexing](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/guidebook-reindexing.md): Fastest ways to rebuild with schema changes. - [Scopes and advanced ORM](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/guidebook-scopes-advanced-orm.md): Compose scopes, joins, filters, and advanced query features. - [Searching and filtering](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/guidebook-searching-filtering.md): Query, filter, paginate, and select fields with the Relation DSL. - [Highlighting](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/highlighting.md): Emphasize matched query terms via affix snippets or fully highlighted fields. Options, compiler mapping, and result helpers. - [Hit Limits](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/hit-limits.md): Cap backend work early and validate total hits after fetch. DSL, compiler mapping, and DX surfaces. - [SearchEngine for Typesense](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/index.md): Typesense Wrapper gem for Rails. Guides, API, CLI, DX, and operations. - [Indexer](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/indexer.md): Stream documents via JSONL bulk import with retries, memory stability, parallel batch processing, and notifications. - [Installation](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/installation.md): Add the gem, create an initializer, verify requirements, and set ENV variables. - [JOINs](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/joins.md): Declare associations, query across collections, select nested fields, and understand server vs client-side fallbacks. - [JOINs, Selection, and Grouping](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/joins-selection-grouping.md): Tie JOINs, nested selection, and grouping together with a running example; guardrails, DX, and performance notes. - [Materializers](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/materializers.md): Result hydration, memoization, pluck/ids validation against selection, and minimal requests for count/exists?. - [Models](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/models.md): Minimal model layer, collection registry, identity, instance helpers, nested fields, scopes, and attribute options. - [Multi-search](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/multi-search.md): Federate multiple labeled searches in one round-trip. Builder DSL, guardrails, mapping, results, and observability. - [Multi-search Guide](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/multi-search-guide.md): Patterns for federating multiple labeled searches: builder DSL, per-search overrides, result handling, Rails controller usage, and DX. - [Observability](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/observability.md): Unified ActiveSupport::Notifications events, compact logging subscriber, redaction policy, and OpenTelemetry adapter. - [Observability + DX + Testing](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/observability-dx-testing.md): How unified events, logging, DX helpers, and offline/stub clients fit together. - [Presets](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/presets.md): Server-side bundles of query options: global config, per-model default, relation DSL, compiler pruning, conflicts, and multi-search. - [Query DSL (Predicate AST)](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/query-dsl.md): Compiler‑agnostic, immutable predicate AST under SearchEngine::AST. Builders, validations, and integration. - [Quickstart](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/quickstart.md): Fastest path to a working search: install, configure, define a model, and run your first query. - [Ranking](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/ranking.md): Composable tuning API for prefix/infix mode, typo behavior, and field weights. - [References & JOINs — Deep dive](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/references-joins-deep-dive.md): How reference fields power JOINs, what the schema stores, runtime behavior, reindex rules, cascading, and many‑to‑many patterns. - [Relation](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/relation.md): Immutable, chainable query object bound to a model class. Accumulates normalized query state without mutation. - [Relation Guide](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/relation-reference.md): Compose safe, immutable searches with the Relation DSL and Query DSL. Chaining, grouping, joins/presets orientation, debugging, and compiler mapping. - [Roadmap](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/roadmap.md): What’s developed, verified, and planned: lifecycle, indexing, client, DSL, synonyms/stopwords, and engine extensions. - [Schema](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/schema.md): Compile model DSL to Typesense schema, diff against live, apply with blue/green + retention, and rollback. - [Schema + Indexer E2E](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/schema-indexer-e2e.md): Operational workflow for blue/green schema apply, full/partitioned reindex, retention management, and safe delete‑stale. - [Synonyms & Stopwords](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/synonyms-stopwords.md): Manage synonym and stopword sets; toggle usage at runtime per query; CLI import/export; observability. - [Testing](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/testing.md): Run the search layer offline with the default test client or a stub for assertions. - [Troubleshooting](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/troubleshooting.md): Quick reference for common issues across joins, grouping, presets, curation, CLI, DX, schema, indexer, testing, observability, and deletion. - [TUIT — Terminal UI](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/tuit.md): Interactive terminal UI to inspect and manage Typesense collections using SearchEngine models. - [Updates (Partial & Bulk)](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/update.md): Update documents by id or filter using model and relation helpers. Options, safety, and when to prefer upsert. - [Upsert](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/upsert.md): Model-level helpers to insert or replace documents without running the Indexer. - [Vector Search](https://nikita-shkoda.mintlify.app/projects/search-engine-for-typesense/v30/vector-search.md): Declare embedding fields, run semantic and hybrid searches, find similar documents, and sort by vector distance.