elliotsawyer/silverstripe-typesense-search-page

A SilverStripe CMS page type for Typesense search powered by InstantSearch.js

Maintainers

Package info

codeberg.org/0x/typesense-search-page

Type:silverstripe-vendormodule

pkg:composer/elliotsawyer/silverstripe-typesense-search-page

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

1.0.0 2026-04-17 23:28 UTC

This package is not auto-updated.

Last update: 2026-04-18 09:20:46 UTC


README

A SilverStripe CMS module that provides a TypesenseSearchPage page type for integrating Typesense search into your SilverStripe site using the InstantSearch.js adapter.

Features

  • Adds a TypesenseSearchPage page type configurable via the CMS
  • Associates a page with a Typesense collection defined by elliotsawyer/silverstripe-typesense
  • CMS editors can select:
    • Query fields — which collection fields to search against
    • Facet fields — filterable refinement lists shown alongside results
    • Sort fields — numeric/sortable fields exposed as sort options
    • Pre-selected facets — key/value pairs that pre-filter the search (e.g. limit results to a specific category)
  • Renders an InstantSearch.js-powered search UI with:
    • Live search box with autofocus
    • Infinite scroll hits list
    • Refinement lists per facet field
    • Sort-by dropdown (relevancy, field asc/desc, date)
    • Result stats (hit count and processing time)
  • Supports a per-page Search API Key (falls back to the TYPESENSE_SEARCH_KEY environment variable)
  • Loads InstantSearch.js and the Typesense InstantSearch adapter from jsDelivr CDN (configurable via YAML)

Requirements

  • main branch: primarily for development, not for stable builds
  • 0.x branch: SilverStripe 5 — use 0.#.# tags. SS5 is near end-of-life; no new features planned
  • 1.x branch: SilverStripe 6 — use 1.#.# tags. Primary development branch; new features arrive here

Installation

composer require elliotsawyer/silverstripe-typesense-search-page

Run a dev/build after installation:

vendor/bin/sake dev/build flush=

Configuration

See docs/instantsearch.md

Copyright statements

This software includes contributions from Elliot Sawyer, available under the LGPL3-With-Attribution license. This attribution statement is required to be shipped with the module, and is displayed within your application. These will appear in certain areas of your application where the module is being used.

Support

Like my work? Consider shouting me a coffee or a small donation if this module helped you solve a problem. I accept cryptocurrency at the following addresses:

  • Bitcoin: 12gSxkqVNr9QMLQMMJdWemBaRRNPghmS3p
  • Bitcoin Cash: 1QETPtssFRM981TGjVg74uUX8kShcA44ni
  • Litecoin: LbyhaTESx3uQvwwd9So4sGSpi4tTJLKBdz

Paid support is available. Please get in touch at https://sawyer.nz/contact