Class DocumentProcessor
java.lang.Object
ai.pipeline.connector.intake.service.DocumentProcessor
Service for processing individual documents.
Handles validation, rate limiting, chunk assembly, metadata enrichment, and storage.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcleanup()Cleanup method to properly shut down the worker thread pool.io.smallrye.mutiny.Uni<ai.pipestream.connector.intake.DocumentResponse> processDocument(CrawlSession session, ai.pipestream.connector.intake.ConnectorConfig config, ai.pipestream.connector.intake.DocumentData document) Process a document.
-
Constructor Details
-
DocumentProcessor
public DocumentProcessor()
-
-
Method Details
-
processDocument
public io.smallrye.mutiny.Uni<ai.pipestream.connector.intake.DocumentResponse> processDocument(CrawlSession session, ai.pipestream.connector.intake.ConnectorConfig config, ai.pipestream.connector.intake.DocumentData document) Process a document.Validates metadata, enforces rate limits, assembles chunked content when needed, enriches metadata, and persists the document via repository-service. When the session is configured to track documents, a record is written to the local database linking source IDs to stored document IDs. Reactive semantics:
- Returns a
Uni<DocumentResponse>that completes asynchronously; persistence and remote gRPC calls are executed in a non-blocking fashion. - Errors are recovered into a
success=falseresponse with an error message.
- May write to repository-service (remote) and the local DB (tracking table).
- Uses an in-memory rate limiter per connector.
- Parameters:
session- The crawl sessionconfig- The connector configurationdocument- The document data- Returns:
- a
Uniemitting theDocumentResponseindicating success and document ID if applicable
- Returns a
-
cleanup
@PreDestroy public void cleanup()Cleanup method to properly shut down the worker thread pool.
-