Summaries & Indexes

Blobify publishes several JSON outputs so frontends do not need to scan every content document.

Summaries

Summaries are the broad listing layer.

For each model and state, Blobify writes:

  • state manifest
  • per-model summary shards

Examples:

textcode
spaces/main/summaries/published/index.json
spaces/main/summaries/published/article/s000.json
spaces/main/summaries/draft/index.json
spaces/main/summaries/draft/article/s000.json

Use summaries for:

  • lists of entries
  • admin lists
  • merged shared and locale data
  • broad model overviews

Fast lookup indexes

Fast lookup indexes are for exact lookups by field value.

Example field:

  • slug

Example path:

textcode
spaces/main/lookups/published/article/slug/en/s076.json

Use lookup indexes for:

  • getOne
  • fast slug lookups
  • exact field lookups without downloading the full summary dataset

List indexes

List indexes are for ordered feeds and pagination.

Example feeds:

  • latest articles
  • newest journals
  • products sorted by created date

Example path:

textcode
spaces/main/list-indexes/published/article/firstpublished/en/index.json
spaces/main/list-indexes/published/article/firstpublished/en/p00000.json

Use list indexes for:

  • ordered feeds
  • paging through static files
  • latest 100 items, next 100, and so on

Frontend usage

Use content documents when:

  • you already know the contentId
  • you want the full published document
  • you are rendering one page

Use summaries when:

  • you want broad lists
  • you are building admin-like views
  • downloading the summary shard set is acceptable

Use lookup indexes when:

  • you need exact match by a configured field
  • you want slug -> id style resolution

Use list indexes when:

  • order matters
  • you need paging without sorting a large summary dataset client-side

Important distinction

Summary fields are not the same thing as indexes.

  • Summary fields control what data appears in summary JSON.
  • Lookup indexes control which fields can be resolved quickly by exact value.
  • List indexes control which ordered feeds Blobify precomputes.

Asset references in summaries

Content summaries store asset references, not final media URLs.

That means:

  • summary shard set item contains { type: "asset", assetId }
  • client resolves the final media URL using the asset catalog or asset metadata

This avoids rebuilding every summary shard set when bucket URLs change.

Practical rule

  • use summaries for most listing needs
  • add fast lookup indexes for fields like slug
  • add list indexes when you need scalable ordered feeds