Member Junction
    Preparing search index...

    Full configuration for a clustering run. Self-describing snapshot that can be persisted to MJ: Cluster Analysis.Configuration and used to re-run.

    interface ClusterConfig {
        Algorithm: ClusterAlgorithm;
        ColorBy?: "cluster" | "entity";
        Dimensions?: 2 | 3;
        DistanceMetric: ClusterDistanceMetric;
        EntityDocumentID?: string;
        EntityDocumentIDs?: string[];
        EntityID?: string;
        EntityName?: string;
        Epsilon: number;
        Filter: string;
        K: number;
        MaxRecords: number;
        MinPoints: number;
        NameClusters?: boolean;
    }
    Index

    Properties

    Algorithm: ClusterAlgorithm

    Clustering algorithm to use.

    ColorBy?: "cluster" | "entity"

    How points are colored in the renderer: by their assigned cluster (default) or by their source entity (useful for multi-entity analyses). Persisted so a reloaded analysis restores the chosen legend mode.

    Dimensions?: 2 | 3

    Number of dimensions for the projected layout (2 or 3). Defaults to 2.

    DistanceMetric: ClusterDistanceMetric

    Distance metric used when comparing vectors.

    EntityDocumentID?: string

    Specific Entity Document ID supplying the vectors. Blank => source adapter chooses.

    EntityDocumentIDs?: string[]

    Multi-entity clustering: one or more Entity Document IDs whose vectors are merged into a single analysis. When supplied (length >= 1) this takes precedence over EntityDocumentID. All selected documents MUST share the same embedding model + vector dimensionality — the source adapter hard-blocks incompatible combinations rather than produce a meaningless layout.

    EntityID?: string

    Entity ID — persisted to the top-level EntityID column when available. Null for multi-entity analyses.

    EntityName?: string

    Entity name whose records are being clustered (drives drilldown / view qualification).

    Epsilon: number

    Epsilon neighbourhood radius for DBSCAN (ignored for K-Means).

    Filter: string

    Optional SQL-style filter applied by the vector source.

    K: number

    Number of clusters for K-Means (ignored for DBSCAN).

    MaxRecords: number

    Maximum number of records to fetch for clustering.

    MinPoints: number

    Minimum points to form a dense region in DBSCAN (ignored for K-Means).

    NameClusters?: boolean

    When true, the engine runs the optional LLM cluster-naming step.