Documentation

Comprehensive guides and API reference for Columnist-DB. Learn how to integrate columnar storage, vector search, and AI memory into your applications.

Quick Start

npm install columnist-db-core
// Import and initialize
import { Columnist } from 'columnist-db-core'

Getting Started

Installation

Install the core package using npm or yarn to get started with Columnist-DB.

npm
npm install columnist-db-core
yarn
yarn add columnist-db-core
pnpm
pnpm add columnist-db-core

Basic Usage

Learn how to define schemas, perform queries, and integrate vector search capabilities.

Import and Initialize
import { Columnist } from 'columnist-db-core' // Define your schema const schema = { memories: { id: { type: 'string', primaryKey: true }, content: 'string', embeddings: 'vector', tags: 'string[]' } } // Initialize database const db = await Columnist.init('my-app', { schema })
Basic Operations
// Insert data await db.insert('memories', { id: 'mem_1', content: 'Important project notes', embeddings: [0.1, 0.2, 0.3], tags: ['project', 'important'] }) // Query data const results = await db.query('memories', { tags: ['project'] }) // Update data await db.update('memories', 'mem_1', { content: 'Updated project notes' }) // Delete data await db.delete('memories', 'mem_1')
Vector Search
// Hybrid search (text + vector) const searchResults = await db.search('memories', { query: 'project notes', vector: [0.1, 0.2, 0.3], similarityThreshold: 0.7, limit: 10 }) // Similarity search const similar = await db.similaritySearch('memories', [0.1, 0.2, 0.3], { threshold: 0.8, limit: 5 }) // Full-text search const textResults = await db.fullTextSearch('memories', 'project documentation', { fields: ['content', 'tags'], limit: 20 })

API Reference

Database Methods

Complete reference for all database operations including insert, query, update, and delete.

insert(table: string, data: object)

Insert a new record into the specified table.

await db.insert('memories', { id: 'mem_1', content: 'Important note', embeddings: [0.1, 0.2, 0.3] })
query(table: string, filters?: object)

Query records from a table with optional filters.

const results = await db.query('memories', { tags: ['important'] })
update(table: string, id: string, data: object)

Update a specific record by ID.

await db.update('memories', 'mem_1', { content: 'Updated note' })
delete(table: string, id: string)

Delete a specific record by ID.

await db.delete('memories', 'mem_1')

Vector Search

Documentation for semantic search, similarity queries, and hybrid search capabilities.

search(table: string, options: SearchOptions)

Perform hybrid search combining text and vector similarity.

const results = await db.search('memories', { query: 'project notes', vector: [0.1, 0.2, 0.3], similarityThreshold: 0.7, limit: 10 })
similaritySearch(table: string, vector: number[], options?: SimilarityOptions)

Find records with similar vector embeddings using cosine similarity.

const similar = await db.similaritySearch('memories', [0.1, 0.2, 0.3], { threshold: 0.8, limit: 5 })
fullTextSearch(table: string, query: string, options?: SearchOptions)

Perform full-text search on text fields with relevance scoring.

const textResults = await db.fullTextSearch('memories', 'project documentation', { fields: ['content', 'tags'], limit: 20 })

Guides

Step-by-step tutorials for common use cases and integration patterns.

Examples

Real-world examples and code snippets for different scenarios.

Best Practices

Performance optimization, security considerations, and deployment guidelines.