Skip to main content
Typesense is hosted and managed by Outpost. There is no bring-your-own-server option, and there are no server credentials to enter on your side.
Typesense is an open-source, typo-tolerant search engine. Outpost runs the Typesense cluster, indexes your Ghost posts into it, and exposes the search results to your theme. It’s the recommended search integration for all new publications.

How indexing works

Outpost keeps your search index in sync with Ghost automatically. You set up one or more collections per site — each collection is a separate searchable index that pulls in posts, pages, authors, and tags filtered by the tag rules you choose. Your data lives in its own space and isn’t visible to other publications on the cluster.

Collections and how to use them

For most sites, one collection that searches everything is enough. Visitors type a query, see results across all your content, done. If you publish a lot of distinct content types — posts plus podcast episodes plus videos, for example — you can add a separate collection for each one. Each collection becomes a tab in the search popup, and the label on the tab is the collection’s “Public collection name” (so “Articles”, “Podcasts”, “Videos”). Visitors can stay in the default tab to search everything, or click a specific tab to narrow to just that content type. Each collection has its own tag rules, so a “Podcasts” collection might include only posts tagged podcast, while an “Articles” collection excludes that tag. You can also control whether pages, author profiles, and tag pages are indexed into each collection.
On phones, the search popup opens as a full-screen overlay with a sticky search bar at the top, so it stays in reach as visitors scroll. When you have multiple collections, the tabs become swipeable so visitors can move between content types with a flick.

What gets indexed

For each post or page, Outpost stores the title, the body content (with formatting stripped), the excerpt, the slug, the feature image, the URL, the authors, and the tags. Authors and tags can be indexed as their own results too, so a search for an author name can surface that author’s page alongside their posts. Email-only posts and unpublished drafts are skipped. Posts are only indexed into a collection if their tags match that collection’s rules.

When indexing happens

Outpost re-indexes automatically whenever something changes in Ghost:
  • A post or page is published, updated, or unpublished — the document is added, refreshed, or removed in every collection it belongs to.
  • A tag or author is edited — the matching tag or author entry is updated in collections that include them.
  • A post or page is deleted — it’s removed from search.
These updates run in the background within seconds of the change in Ghost. There’s no manual step to keep search fresh.

Full reindex

A full reindex runs in two situations:
  1. When you first connect Typesense — every collection is built from scratch.
  2. When you click “Reindex” on a collection — that collection is wiped and rebuilt.
A reindex pulls every matching post and page from your Ghost site in batches and rebuilds the collection from scratch. You’ll get an email when it finishes. Use it after a bulk import, a large tag cleanup, or any time a collection looks out of sync.

How the Boost function works

By default, search results are sorted newest first. Boost lets you override that order by giving certain tags extra weight, so posts on the topics you care most about rank above otherwise-equivalent results.

Configuring boosts

Open Integrations → Typesense, find the collection you want to tune, and click Edit Boost Settings. Add a row for each tag you want to weight, pick the tag from the dropdown, and set a boost amount between 0 and 10. Any tag you don’t list stays at the default of 0.
Example: if a regular post and a podcast post are scoring about the same on relevance, give the podcast tag a boost of 5 to push podcast results to the top.

How boost values are applied

Each post’s boost score is the sum of the boost amounts on its tags. A post tagged with both podcast (boost 5) and featured (boost 3) ends up with a score of 8. Posts with higher boost scores rank above lower ones, and recency breaks ties. Boost is calculated when the post is indexed, not when a visitor searches. That means after changing a boost value, click Reindex on the collection so the new weights are applied to every existing post. Posts edited in Ghost after the change will pick up the new values on their own. If you haven’t configured any boosts, search falls back to the default “newest first” ordering.

What searches match against

Searches look at the title, tags, authors, body content, and excerpt of each document, with typo tolerance built in.

Typesense vs. Algolia

TypesenseAlgolia
HostingOutpost-hostedAlgolia-hosted (BYO Algolia account)
Cost to publisherIncludedAlgolia’s published plans
IndexingAutomatic on every Ghost changeAutomatic on every Ghost change
Recommended forNew publicationsPublications with an existing Algolia account

Setup

There’s nothing for you to configure on the Typesense side — Outpost runs the cluster. Choose one of two ways to wire the search popup into your site.

Option 1: Replace Ghost’s default search (no code)

This is the dead-simple path and the right choice for most publishers. With this option, the search button that already exists in your Ghost theme keeps working — Outpost just swaps in the Typesense popup behind it.
1

Open the Typesense integration

In Outpost, go to Integrations → Typesense.
2

Set "Control HTML Selector for Display Search Popup" to "Use Default Ghost Search button"

This tells Outpost to hook into Ghost’s built-in search trigger. No theme edits needed.
3

Leave "Embed Mode" set to "Popup"

Search results appear in an overlay popup when a visitor clicks the search button.
4

Save

The Typesense popup now opens whenever a visitor clicks the search icon or button in your theme.

Option 2: Custom selector (for developers)

If your theme uses a non-standard search trigger, or you want to open the search popup from a custom button, link, or icon anywhere on the page, point Outpost at the element instead.
1

Set "Control HTML Selector for Display Search Popup" to "Custom HTML selector"

A text field appears.
2

Enter a CSS selector for the trigger element

Anything document.querySelectorAll accepts: #search-btn, .site-header .search, [data-open-search]. Every matching element on the page will open the search popup when clicked.
3

Optional — embed search inline instead of in a popup

If you’d rather render the search box and results inline on a page (for example, on a dedicated /search page), set Embed Mode to Custom HTML container and enter a selector for the container element. Outpost will mount the search UI inside that element instead of opening as a modal.

Reindexing

Index updates run automatically when Ghost content changes. If a collection looks out of sync — for example, after a bulk import, a large tag re-organization, or a change to boost settings — click Reindex on the collection in the Typesense integration panel. The reindex runs as a background job and emails you when it completes. For cluster-wide rebuilds, email support@outpost.pub. A reindex wipes the collection first and then rebuilds it post by post, so search returns zero results at the start, then partial results, until the rebuild finishes. For most sites this only lasts a few moments. But if you have more than ~2,000 posts, or your site is in the middle of a traffic peak, plan to run the reindex during a quieter part of the day — tens of thousands of posts can take a while to repopulate, and visitors searching mid-rebuild will see incomplete results.

Algolia Integration

Alternative search integration for publications already on Algolia.

Ghost Integration

Ghost is the source of post content that gets indexed for search.

FAQ

No. Outpost runs the Typesense cluster and includes it as part of your subscription.
Not currently. Search is delivered through Outpost’s hosted Typesense cluster.
Add another collection when you publish a distinct content type that visitors might want to search on its own — podcast episodes, video posts, a separate research library. Each collection becomes a tab in the search popup, so visitors can search everything by default or narrow to one type. For most sites, a single collection is the right answer.
Reindexing is automatic on Ghost changes. For a full rebuild of a single collection, use the Reindex button on the collection in the Typesense integration panel. For a cluster-wide rebuild, email support@outpost.pub.
Yes — briefly. The collection is wiped first and then rebuilt post by post, so searches return zero results at the start, then partial results until the rebuild finishes. For most sites this only lasts a few moments. If you have more than around 2,000 posts or your site is busy, schedule the reindex for an off-peak time.
Boost is calculated when a post is indexed, not when a visitor searches. After changing a tag’s boost amount, click Reindex on the collection so the new weights are applied to every existing post. Posts you edit in Ghost after the change will pick up the new values on their own.
Each tag can be boosted by a whole number from 0 to 10. A post’s overall boost is the sum of all its matching tag boosts, so multiple boosted tags stack.
See the Algolia Integration page. Typesense is recommended for new publications; Algolia fits publications that already have an Algolia account in place.