Liking cljdoc? Tell your friends :D

boundary.search.shell.http

HTTP API routes and admin web UI handlers for boundary-search.

API Endpoints (mounted under /api/v1): POST /search/:index-id — search POST /search/:index-id/suggest — trigram suggestions POST /search/documents — index a document DELETE /search/documents/:type/:id — remove a document

Admin Web UI (mounted under /web/admin): GET /search — list all indices GET /search/:index-id — index detail + live search form POST /search/:index-id/search — HTMX search results fragment

HTTP API routes and admin web UI handlers for boundary-search.

API Endpoints (mounted under /api/v1):
  POST   /search/:index-id              — search
  POST   /search/:index-id/suggest      — trigram suggestions
  POST   /search/documents              — index a document
  DELETE /search/documents/:type/:id    — remove a document

Admin Web UI (mounted under /web/admin):
  GET    /search                        — list all indices
  GET    /search/:index-id              — index detail + live search form
  POST   /search/:index-id/search       — HTMX search results fragment
raw docstring

boundary.search.shell.module-wiring

Integrant lifecycle management for the search module.

Config keys:

:boundary/search {:db-ctx (ig/ref :boundary/db-context)}

Returns {:store <ISearchStore> :engine <ISearchEngine>}

:boundary/search-routes {:search-service (ig/ref :boundary/search)}

Returns {:api [...] :web [...] :static []} for composition by the HTTP handler.

Integrant lifecycle management for the search module.

Config keys:

:boundary/search
  {:db-ctx (ig/ref :boundary/db-context)}

  Returns {:store <ISearchStore> :engine <ISearchEngine>}

:boundary/search-routes
  {:search-service (ig/ref :boundary/search)}

  Returns {:api [...] :web [...] :static []} for composition
  by the HTTP handler.
raw docstring

No vars found in this namespace.

boundary.search.shell.persistence

Database persistence for search documents.

Implements ISearchStore using next.jdbc + HoneySQL for DML and raw parameterized SQL for FTS-specific queries.

Two query strategies selected by db-type:

  • :postgresql — to_tsvector/plainto_tsquery + ts_rank + ts_headline
  • :h2 / :sqlite — LOWER/LIKE fallback (used in tests and dev)
Database persistence for search documents.

Implements ISearchStore using next.jdbc + HoneySQL for DML
and raw parameterized SQL for FTS-specific queries.

Two query strategies selected by db-type:
- :postgresql — to_tsvector/plainto_tsquery + ts_rank + ts_headline
- :h2 / :sqlite — LOWER/LIKE fallback (used in tests and dev)
raw docstring

boundary.search.shell.registry

Load-time registry of search index definitions.

The registry is mutable process state, so it lives in the shell — the core (boundary.search.core.index) stays pure (document construction and filter-key conversion only). Definitions are registered at namespace load via the defsearch macro and read at runtime by the search service.

Key functions:

  • defsearch macro — define and register an index
  • register-search! — low-level registration
  • get-search — look up by index-id
  • list-searches — list registered index ids
  • clear-registry! — reset registry (test fixtures)
Load-time registry of search index definitions.

The registry is mutable process state, so it lives in the shell — the core
(boundary.search.core.index) stays pure (document construction and filter-key
conversion only). Definitions are registered at namespace load via the
`defsearch` macro and read at runtime by the search service.

Key functions:
- defsearch macro       — define and register an index
- register-search!      — low-level registration
- get-search            — look up by index-id
- list-searches         — list registered index ids
- clear-registry!       — reset registry (test fixtures)
raw docstring

boundary.search.shell.service

SearchService orchestrates document indexing and search queries.

Implements ISearchEngine by coordinating:

  • core/index — document construction
  • core/query — query sanitization
  • shell/registry — index definition registry
  • ISearchStore — persistence operations
SearchService orchestrates document indexing and search queries.

Implements ISearchEngine by coordinating:
- core/index     — document construction
- core/query     — query sanitization
- shell/registry — index definition registry
- ISearchStore   — persistence operations
raw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close