Skip to content
search-config logo

Search Config - Complete API Reference

search-config

Search indexing configuration and full-text search management

alsk1992/CloddsBot0installs2.9Kstars

SKILL.md

Full skill instructions

Search Config - Complete API Reference

Configure search indexing, manage search backends, and optimize full-text search.


Chat Commands

View Status

/​search-config                              Show search config
/​search-config status                       Index status
/​search-config stats                        Search statistics

Index Management

/​search-config rebuild                      Rebuild all indexes
/​search-config rebuild memories             Rebuild specific index
/​search-config optimize                     Optimize indexes
/​search-config clear <index>                Clear index

Configuration

/​search-config backend sqlite               Set backend
/​search-config backend elasticsearch        Use Elasticsearch
/​search-config mode hybrid                  Set search mode
/​search-config boost semantic 0.7           Set semantic weight

TypeScript API Reference

Create Search Service

import { createSearchService } from 'clodds/​search';

const search = createSearchService({
  // Backend
  backend: 'sqlite',  // 'sqlite' | 'elasticsearch' | 'typesense' | 'meilisearch'

  // Search mode
  mode: 'hybrid',  // 'fulltext' | 'semantic' | 'hybrid'

  // Hybrid weights
  semanticWeight: 0.6,
  fulltextWeight: 0.4,

  // Embedding provider (for semantic)
  embeddings: {
    provider: 'openai',
    model: 'text-embedding-3-small',
  },

  // Storage
  dbPath: './​search.db',
});

Index Documents

// Index single document
await search.index({
  collection: 'memories',
  id: 'mem-1',
  content: 'User prefers conservative trading',
  metadata: {
    type: 'preference',
    userId: 'user-123',
  },
});

// Index batch
await search.indexBatch({
  collection: 'documents',
  documents: [
    { id: 'doc-1', content: 'First document', metadata: {} },
    { id: 'doc-2', content: 'Second document', metadata: {} },
  ],
});

Search

// Full-text search
const results = await search.search({
  query: 'trading strategies',
  collection: 'documents',
  limit: 10,
});

for (const result of results) {
  console.log(`${result.id}: ${result.score}`);
  console.log(`  ${result.snippet}`);
}

// With filters
const results = await search.search({
  query: 'bitcoin',
  collection: 'news',
  filters: {
    date: { gte: '2024-01-01' },
    source: 'reuters',
  },
  limit: 20,
});

Hybrid Search

// Combine full-text and semantic
const results = await search.hybridSearch({
  query: 'how to manage risk in trading',
  collection: 'documents',
  semanticWeight: 0.7,
  fulltextWeight: 0.3,
  limit: 10,
});

Get Index Stats

const stats = await search.getStats();

console.log('Index Statistics:');
for (const [collection, info] of Object.entries(stats.collections)) {
  console.log(`${collection}:`);
  console.log(`  Documents: ${info.documentCount}`);
  console.log(`  Size: ${info.sizeMB} MB`);
  console.log(`  Last indexed: ${info.lastIndexed}`);
}

console.log(`\nSearch Stats:`);
console.log(`  Queries today: ${stats.queriesToday}`);
console.log(`  Avg latency: ${stats.avgLatencyMs}ms`);
console.log(`  Cache hit rate: ${stats.cacheHitRate}%`);

Rebuild Index

// Rebuild all indexes
await search.rebuildAll();

// Rebuild specific collection
await search.rebuild('memories');

// With progress callback
await search.rebuild('documents', {
  onProgress: (progress) => {
    console.log(`${progress.current}/​${progress.total} (${progress.percent}%)`);
  },
});

Optimize Index

// Optimize for better performance
await search.optimize();

// Optimize specific collection
await search.optimize('documents');

Clear Index

// Clear specific collection
await search.clear('memories');

// Clear all
await search.clearAll();

Configure Backend

// Switch to Elasticsearch
await search.setBackend('elasticsearch', {
  url: process.env.ELASTICSEARCH_URL,
  index: 'clodds',
});

// Switch to Typesense
await search.setBackend('typesense', {
  url: process.env.TYPESENSE_URL,
  apiKey: process.env.TYPESENSE_API_KEY,
});

Search Backends

BackendBest ForFeatures
SQLiteDevelopment, small dataSimple, embedded
ElasticsearchProduction, large dataScalable, powerful
TypesenseFast searchTypo tolerance
MeilisearchInstant searchEasy setup

Search Modes

ModeDescription
fulltextTraditional keyword matching
semanticVector similarity search
hybridCombined (best of both)

Hybrid Search Weights

// More emphasis on meaning
const results = await search.hybridSearch({
  query: 'risk management',
  semanticWeight: 0.8,  // 80% semantic
  fulltextWeight: 0.2,  // 20% keyword
});

// More emphasis on exact matches
const results = await search.hybridSearch({
  query: 'BTCUSDT',
  semanticWeight: 0.2,  // 20% semantic
  fulltextWeight: 0.8,  // 80% keyword
});

Best Practices

  1. Use hybrid search — Best results for most queries
  2. Rebuild periodically — Keep indexes fresh
  3. Optimize after bulk inserts — Improve performance
  4. Monitor latency — Scale if too slow
  5. Tune weights — Adjust semantic/​fulltext balance

More skills from alsk1992

portfolio logo
alsk1992/CloddsBot

portfolio

Track your positions and P&L across prediction markets and futures exchanges

2.9K 0
View
predictfun logo
alsk1992/CloddsBot

predictfun

Predict.fun prediction market trading (BNB Chain)

2.9K 0
View
ledger logo
alsk1992/CloddsBot

ledger

Trade decision audit trail and statistics

2.9K 0
View
permissions logo
alsk1992/CloddsBot

permissions

Command approvals, tool policies, and exec security

2.9K 0
View
news logo
alsk1992/CloddsBot

news

Monitor news and correlate with prediction market movements

2.9K 0
View
whale-tracking logo
alsk1992/CloddsBot

whale-tracking

Monitor whale trades on Polymarket and crypto chains (Solana, ETH, Polygon, ARB, Base, OP)

2.9K 0
View
raydium logo
alsk1992/CloddsBot

raydium

Raydium - swaps, CLMM positions, AMM liquidity on Solana

2.9K 0
View
history logo
alsk1992/CloddsBot

history

Trade history tracking, sync, and performance analytics

2.9K 0
View
kamino logo
alsk1992/CloddsBot

kamino

Kamino Finance — Solana lending, borrowing, and liquidity vaults

2.9K 0
View
qrcoin logo
alsk1992/CloddsBot

qrcoin

Participate in QR Coin auctions on Base - bid to display URLs on QR codes

2.9K 0
View
endaoment logo
alsk1992/CloddsBot

endaoment

Donate to 501(c)(3) charities onchain via Endaoment - tax-deductible crypto donations

2.9K 0
View
trading-futures logo
alsk1992/CloddsBot

trading-futures

Trade perpetual futures on Binance, Bybit, Hyperliquid, MEXC with up to 200x leverage

2.9K 0
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View