A powerful abstraction for search engines. Start with simple Database search and scale to Algolia or Elasticsearch later.
Standard interface for Database, Algolia, or Elasticsearch.
Built-in SQL support via LIKE queries.
Swap search engines without changing application code.
Easily add support for vector DBs or other engines.
1import { searchManager } from "canxjs/search";23// 1. Search using default driver (database)4const results = await searchManager.driver().search("products", "Laptop");56// 2. Specific driver (e.g., Algolia or Elasticsearch if configured)7const results = await searchManager.driver("algolia").search("users", "John");89// 3. Register custom driver10searchManager.register("algolia", new AlgoliaDriver());
1import { SearchDriver } from "canxjs/search";23export class CustomSearchDriver implements SearchDriver {4async search(index: string, query: string, options?: any) {5// Perform search6return [{ id: 1, title: "Result" }];7}89async index(item: any) {10// Index item11}1213async delete(id: string) {14// Remove from index15}16}