DocIdHashOperator
Generates SHA-256 hash identifiers for documents from their content column. Short name: doc_id_hash · Category: Functional
Overview
The DocIdHashOperator hashes each document's content using SHA-256 and writes the result into a doc_id_hash column. This column is required by EdedupOperator (deduplication), VectorDBOperator (primary key), and downstream indexing operations.
[!NOTE]
This is an internal operator (IS_OPERATOR_AVAILABLE = False). You cannot use it directly in a flow configuration. It is invoked automatically byExtractOperator,ChunkerOperator, andEmbeddingsOperatorwhenever adoc_id_hashcolumn is needed.
Key Features
- Deterministic SHA-256 hashing — same content always produces the same 64-character hex hash
- Automatic fallback from
dpk_doc_id.DocIDTransformtohashlib.sha256 - Invoked automatically by upstream operators; no manual configuration needed
- Used as the primary key by
VectorDBOperator
Operator Configuration
This operator is not available for direct use in flows. It is invoked internally by other operators. If you see a doc_id_hash column in your output table, it was produced automatically.
If you need to customise hash column naming for a specific use case, the parameters below are available when invoking the operator programmatically:
from docpipe.core.operators.functional.doc_id_hash import DocIdHashOperator
op = DocIdHashOperator(config={
"doc_column": "content", # column to hash
"doc_id_hash_column": "doc_id_hash" # output column name
})
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
doc_column |
string |
No | "content" |
Column containing document text to hash. |
doc_id_hash_column |
string |
No | "doc_id_hash" |
Name of the output column for the generated hash. |
Output Columns
| Column | Type | Description |
|---|---|---|
doc_id_hash |
string |
64-character SHA-256 hex digest of the document content. Used as the primary key in vector databases. |
Examples
This operator is invoked internally. The following operators all produce a doc_id_hash column automatically:
extract_operator— hashes extracted textchunker— hashes each chunkembeddings— ensures hash exists before embedding
No flow configuration is needed.
Troubleshooting
doc_id_hash column missing — ensure ExtractOperator or ChunkerOperator ran before any operator that requires it (e.g. ededup, vectordb). These operators produce the column automatically.
Duplicate hashes — two documents have identical content. This is expected behaviour; use EdedupOperator to remove duplicates.
Sample Flow
See sample_flows/advanced/quality_branching_merge_pipeline.json for a complete pipeline example that includes document ID hashing.