Core entry CRUD, query, search, expiry, and status helpers.
Core entry CRUD, query, search, expiry, and status helpers.
(query-entries config-atom opts)Fan out a scalar-filter query across every known collection.
Per-collection failures (transient transport drops, missing index,
schema drift on legacy collections) are isolated: the offending coll
contributes [] and the others return their hits. The failure is
logged at WARN so callers don't read a silent empty result as
:limit not respected (the silent-swallow used to surface as the
user-visible bug 20260503012357-7d008e50).
Fan out a scalar-filter query across every known collection. Per-collection failures (transient transport drops, missing index, schema drift on legacy collections) are isolated: the offending coll contributes [] and the others return their hits. The failure is logged at WARN so callers don't read a silent empty result as `:limit not respected` (the silent-swallow used to surface as the user-visible bug 20260503012357-7d008e50).
(relocate-entry! config-atom id)Move entry id from its current collection to the canonical target.
Implements IMemoryStoreWithRouting/relocate-entry!.
Delegates to hive-milvus.relocate.pipeline/relocate-one, which is
the CPPB-layered (Collect → Promote → Boundary) implementation.
This wrapper unwraps the pipeline's r/ok / r/err result back into
the legacy raw-map shape callers expect:
{:moved? true :from src :to target :id id} on move {:moved? false :from src :to target :id id} on no-op {:moved? false :from nil :to nil :id id :reason :not-found} when the id resolves to no collection {:moved? false :error <category> :id id :detail err-data} when the pipeline returns r/err for any other reason
Migration path: callers that want railway-tracked errors should
call reloc-pipeline/relocate-one directly instead of this
facade — they get an r/ok / r/err with full error context.
Move entry `id` from its current collection to the canonical target.
Implements `IMemoryStoreWithRouting/relocate-entry!`.
Delegates to `hive-milvus.relocate.pipeline/relocate-one`, which is
the CPPB-layered (Collect → Promote → Boundary) implementation.
This wrapper unwraps the pipeline's r/ok / r/err result back into
the legacy raw-map shape callers expect:
{:moved? true :from src :to target :id id} on move
{:moved? false :from src :to target :id id} on no-op
{:moved? false :from nil :to nil :id id :reason :not-found}
when the id resolves to no collection
{:moved? false :error <category> :id id :detail err-data}
when the pipeline returns r/err for any other reason
Migration path: callers that want railway-tracked errors should
call `reloc-pipeline/relocate-one` directly instead of this
facade — they get an r/ok / r/err with full error context.(search-context config-atom)The live collaborators a semantic search runs against.
The live collaborators a semantic search runs against.
(search-similar config-atom query-text opts)Semantic search. Returns entries, best first.
A target that fails is LOGGED, not silently dropped — a search that returns fewer hits because a collection errored used to report success.
Semantic search. Returns entries, best first. A target that fails is LOGGED, not silently dropped — a search that returns fewer hits because a collection errored used to report success.
(target-collection-for _config-atom entry)Resolve the canonical Milvus collection for entry per current
routing config (per-type → per-dim). Returns the collection name
string. Implements IMemoryStoreWithRouting/target-collection-for.
Resolve the canonical Milvus collection for `entry` per current routing config (per-type → per-dim). Returns the collection name string. Implements `IMemoryStoreWithRouting/target-collection-for`.
(update-entry! config-atom id updates)Update an entry's fields. Routing-aware via the CPPB-layered pipeline — when the merged entry's target collection differs from its current collection, the pipeline relocates it transparently.
Delegates to hive-milvus.relocate.pipeline/relocate-update, which
handles the COLLECT → PROMOTE → BOUNDARY flow with proper Result
tracking. This wrapper unwraps the pipeline's r/ok / r/err back
into the legacy raw-map shape callers expect: returns the merged
entry on success, nil when id is unknown, or a raw err map for
downstream errors.
Migration path: callers that want railway-tracked errors should
call reloc-pipeline/relocate-update directly instead of this
facade.
Update an entry's fields. Routing-aware via the CPPB-layered pipeline — when the merged entry's target collection differs from its current collection, the pipeline relocates it transparently. Delegates to `hive-milvus.relocate.pipeline/relocate-update`, which handles the COLLECT → PROMOTE → BOUNDARY flow with proper Result tracking. This wrapper unwraps the pipeline's r/ok / r/err back into the legacy raw-map shape callers expect: returns the merged entry on success, nil when `id` is unknown, or a raw err map for downstream errors. Migration path: callers that want railway-tracked errors should call `reloc-pipeline/relocate-update` directly instead of this facade.
(update-fields-keep-embedding! config-atom id updates)Update entry fields without re-embedding.
Reads the existing record (including its :embedding vector via
query-scalar), merges updates, and upserts in place via
entry->record-pure with the retrieved vector. Suitable for
metadata-only changes (e.g. :kg-incoming back-edge bookkeeping)
where re-running the embedder on unchanged content is wasted work
— and on 4096d Venice that waste blows past the 30 s memory-write
timeout when an add fans out updates to multiple KG targets.
Returns the merged entry on success, nil if id not found in any known collection.
Update entry fields without re-embedding. Reads the existing record (including its :embedding vector via query-scalar), merges `updates`, and upserts in place via `entry->record-pure` with the retrieved vector. Suitable for metadata-only changes (e.g. :kg-incoming back-edge bookkeeping) where re-running the embedder on unchanged content is wasted work — and on 4096d Venice that waste blows past the 30 s memory-write timeout when an add fans out updates to multiple KG targets. Returns the merged entry on success, nil if id not found in any known collection.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |