@cpod/sdk - v0.2.7
    Preparing search index...

    Function searchDocuments

    • Search documents using ClickHouse full-text search

      Performs semantic search across indexed documents with support for filtering by sources, entities, and file hashes. Results include relevance scoring.

      Parameters

      • request: SearchRequest

        Search request parameters

        Request parameters for document search

        • query: string

          Search query string (required)

        • OptionalviewMode?: ViewMode

          View mode: files or projects

        • Optionalsources?: string[] | null

          Filter by specific sources

        • Optionalentities?: string[] | null

          Filter by entity names

        • OptionalfileHashes?: string[] | null

          Filter by specific file hashes

        • OptionalchunkIds?: string[] | null

          Filter by specific chunk IDs

        • Optionalpage?: number

          Page number (1-indexed, default: 1)

        • Optionallimit?: number

          Maximum results to return (1-100, default: 10)

        • OptionalsortBy?: "relevance" | "date" | "source" | "chunk_index"

          Sort order: "relevance" | "date" | "source" | "chunk_index" (default: "relevance")

        • OptionalsortOrder?: "asc" | "desc"

          Sort direction

        • OptionalincludeContent?: boolean

          Include full content in results (default: true)

        • OptionalincludeEntities?: boolean

          Include entities in results (default: true)

        • OptionalincludeSummary?: boolean

          Include AI summary in results

        • OptionaluserIds?: string[] | null

          Filter results to specific users' data (admin only)

        • OptionalbypassPermissions?: boolean

          Bypass source permission checks (admin only)

        • OptionalexactMatch?: boolean

          Return only exact phrase matches (case-insensitive). Default: false

      Returns Promise<SearchResponse>

      Promise resolving to SearchResponse:

      • results - Array of SearchResult objects with document chunks
      • total - Total number of matching documents
      • query - Original query string
      • sources - Sources that were searched
      • page - Current page number
      • limit - Limit that was applied
      • totalPages - Total number of pages
      • tookMs - Query execution time in milliseconds

      401 - Not authenticated

      422 - Validation error (invalid parameters)

      import { searchDocuments } from "@cpod/sdk";

      // Basic search (fuzzy search by default)
      const results = await searchDocuments({
      query: "quarterly revenue",
      limit: 20,
      });

      console.log(`Found ${results.total} documents in ${results.tookMs}ms`);
      console.log(`Page ${results.page} of ${results.totalPages}`);

      // Exact phrase matching
      const exactResults = await searchDocuments({
      query: "user authentication flow",
      exactMatch: true, // Only finds exact phrase
      page: 1,
      });

      // Search with filters
      const filtered = await searchDocuments({
      query: "security policy",
      sources: ["policies", "compliance"],
      entities: ["GDPR"],
      sortBy: "date",
      limit: 50,
      });

      for (const result of filtered.results) {
      console.log(`${result.sourceFilename} (score: ${result.relevanceScore})`);
      console.log(` Entities: ${result.entities?.join(", ")}`);
      }