Search

Pipe Bomb has two search modes: local search against the indexed library, and ephemeral search against external sources provided by plugins.

Local search queries tracks, artists, and albums stored in the server database. It requires a search source plugin to be active - the server itself does not implement a search algorithm.

A search source receives:

  • The query string
  • Requested result limits per entity type (tracks, artists, albums)
  • Optional sort key and direction
  • Optional attribute filters

It returns ordered lists of UUIDs that the server then fetches and returns to the client.

The server's built-in search is intentionally as basic as possible. This means results often aren't in any particular order. It is recommended to install a plugin that implements its own search source, like MiniSearch.

Attribute filters

Searches can be filtered by attribute values. The search page UI allows adding attribute filters; available filter operations depend on the attribute type (see users/Attributes).

Configuring the search source

Go to Settings → System → Search to see available search source plugins and select the active one.

Ephemeral search queries external catalogs via users/Ephemeral-Sources plugins. Results are not stored in the database.

Ephemeral tracks can be:

  • Played directly (the ephemeral source's library handler streams them)
  • Added to the queue
  • Saved to the local library (upon which they will no longer be considered "ephemeral")

Search UI

The search page shows separate sections for local and ephemeral results. Each section shows tracks, artists, and albums. Clicking an artist or album navigates to their detail page, where ephemeral content (tracks, albums) is loaded on demand.