Search request parameters (same as searchDocuments)
Request parameters for document search
Search query string (required)
OptionalviewMode?: ViewModeView mode: files or projects
Optionalsources?: string[] | nullFilter by specific sources
Optionalentities?: string[] | nullFilter by entity names
OptionalfileHashes?: string[] | nullFilter by specific file hashes
OptionalchunkIds?: string[] | nullFilter by specific chunk IDs
Optionalpage?: numberPage number (1-indexed, default: 1)
Optionallimit?: numberMaximum 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?: booleanInclude full content in results (default: true)
OptionalincludeEntities?: booleanInclude entities in results (default: true)
OptionalincludeSummary?: booleanInclude AI summary in results
OptionaluserIds?: string[] | nullFilter results to specific users' data (admin only)
OptionalbypassPermissions?: booleanBypass source permission checks (admin only)
OptionalexactMatch?: booleanReturn only exact phrase matches (case-insensitive). Default: false
SearchChunk objects containing:
results - Array of search results in this chunkdone - Boolean indicating if this is the final chunkimport { searchDocumentsStream } from "@cpod/sdk";
let totalProcessed = 0;
for await (const chunk of searchDocumentsStream({
query: "annual report",
sources: ["financial"],
})) {
console.log(`Received ${chunk.results.length} results`);
totalProcessed += chunk.results.length;
// Process each result
for (const doc of chunk.results) {
await processDocument(doc);
}
if (chunk.done) {
console.log(`Finished! Total: ${totalProcessed}`);
break;
}
}
Search documents with streaming results for large result sets
Streams search results in chunks using NDJSON format. Ideal for: