Skip to main content

WebCrawlerConfig

The top-level configuration for a web crawler.

Notes​

The top-level configuration for a web crawler. Extends the base crawl configuration with web-specific settings including link extractors, URL normalization, robots.txt and robots meta handling, sitemap support, URL scope resolution, canonical link detection, delay resolution, and recrawl scheduling.

Usage​

canonicalLinkDetector:
class: GenericCanonicalLinkDetector
contentTypes:
- string
changeDiscovery: CRAWLER_SCAN
cluster:
adminBindAddress: string
adminDisabled: false
adminPort: 0
clustered: false
connector:
class: HazelcastClusterConnector
clusterName: string
configurer:
class: JdbcHazelcastConfigurer
instanceName: string
nodeExpiryTimeout: 0
workerHeartbeatInterval: 0
committers: []
deferredShutdownDuration: 0
delayResolver:
class: GenericDelayResolver
defaultDelay: 0
ignoreRobotsCrawlDelay: false
schedules:
- {}
scope: CRAWLER
documentChecksummer:
class: Md5DocumentChecksummer
combineFieldsAndContent: false
fieldMatcher:
ignoreCase: false
ignoreDiacritic: false
matchEmpty: false
method: BASIC
negateMatches: false
partial: false
pattern: string
replaceAll: false
trim: false
keep: false
onSet: APPEND
toField: string
documentDeduplicate: false
documentFetchSupport: DISABLED
documentFilters: []
eventListeners: []
fetchers: []
fetchersMaxRetries: 0
fetchersRetryDelay: 0
id: string
idleTimeout: 0
importer:
handlers: []
maxMemoryInstance: 0
maxMemoryPool: 0
responseProcessors:
- {}
tempDir: string
keepReferencedLinks:
- INSCOPE
linkExtractors: []
maxCrawlDuration: 0
maxDepth: 0
maxDocuments: 0
maxQueueBatchSize: 0
maxStreamCachePoolSize: 0
maxStreamCacheSize: 0
metadataChecksummer:
class: LastModifiedMetadataChecksummer
keep: false
onSet: APPEND
toField: string
metadataDeduplicate: false
metadataFetchSupport: DISABLED
metadataFilters: []
minProgressLoggingInterval: 0
numThreads: 0
orphansStrategy: PROCESS
postImportConsumers: []
postImportLinks:
ignoreCase: false
ignoreDiacritic: false
matchEmpty: false
method: BASIC
negateMatches: false
partial: false
pattern: string
replaceAll: false
trim: false
postImportLinksKeep: false
preImportConsumers: []
recrawlableResolver:
class: GenericRecrawlableResolver
minFrequencies:
- {}
sitemapSupport: FIRST
referenceFilters: []
robotsMetaProvider:
class: StandardRobotsMetaProvider
headersPrefix: string
robotsTxtProvider:
class: StandardRobotsTxtProvider
noop: string
sitemapLocator:
class: GenericSitemapLocator
paths:
- string
robotsTxtSitemapDisabled: false
sitemapResolver:
class: GenericSitemapResolver
lenient: false
spoiledReferenceStrategizer:
class: GenericSpoiledReferenceStrategizer
fallbackStrategy: DELETE
mappings: {}
startReferences:
- string
startReferencesAsync: false
startReferencesFiles:
- string
startReferencesProviders:
- noop: string
startReferencesSitemaps:
- string
stopOnExceptions:
- string
urlNormalizers: []
urlScopeResolver:
class: GenericUrlScopeResolver
includeSubdomains: false
stayOnDomain: false
stayOnPort: false
stayOnProtocol: false
stayOnSitemap: false
workDir: string

Properties​

PropertyTypeRequiredDefault
canonicalLinkDetectorCanonicalLinkDetectorNoGenericCanonicalLinkDetector
changeDiscoveryenumNoCRAWLER_SCAN
clusterClusterConfigNoClusterConfig
committersCommitter[]No-
deferredShutdownDurationintegerNo0
delayResolverDelayResolverNoGenericDelayResolver
documentChecksummerDocumentChecksummerNoMd5DocumentChecksummer
documentDeduplicatebooleanNofalse
documentFetchSupportenumNoREQUIRED
documentFiltersDocumentFilter[]No-
eventListenersEventListener[]No-
fetchersFetcher[]No[HttpClientFetcher]
fetchersMaxRetriesintegerNo0
fetchersRetryDelayintegerNo-
idstringYes-
idleTimeoutintegerNo5000
importerImporterConfigNoImporterConfig
linkExtractorsLinkExtractor[]No[HtmlLinkExtractor]
maxCrawlDurationintegerNo0
maxDepthintegerNo-1
maxDocumentsintegerNo-1
maxQueueBatchSizeintegerNo50
maxStreamCachePoolSizeintegerNo100000000
maxStreamCacheSizeintegerNo1000000000
metadataChecksummerMetadataChecksummerNoLastModifiedMetadataChecksummer
metadataDeduplicatebooleanNofalse
metadataFetchSupportenumNoDISABLED
metadataFiltersMetadataFilter[]No-
minProgressLoggingIntervalintegerNo30000
numThreadsintegerNo2
orphansStrategyenumNoPROCESS
postImportConsumersDocumentConsumer[]No-
postImportLinksKeepbooleanNofalse
preImportConsumersDocumentConsumer[]No-
recrawlableResolverRecrawlableResolverNoGenericRecrawlableResolver
referenceFiltersReferenceFilter[]No-
robotsMetaProviderRobotsMetaProviderNoStandardRobotsMetaProvider
robotsTxtProviderRobotsTxtProviderNoStandardRobotsTxtProvider
sitemapLocatorSitemapLocatorNoGenericSitemapLocator
sitemapResolverSitemapResolverNoGenericSitemapResolver
spoiledReferenceStrategizerSpoiledReferenceStrategizerNoGenericSpoiledReferenceStrategizer
startReferencesstring[]No-
startReferencesAsyncbooleanNofalse
startReferencesFilesstring[]No-
startReferencesProvidersReferencesProvider[]No-
startReferencesSitemapsstring[]No-
stopOnExceptionsstring[]No-
urlNormalizersWebUrlNormalizer[]No[GenericUrlNormalizer]
urlScopeResolverUrlScopeResolverNoGenericUrlScopeResolver
workDirstringNo-

Property Details​

canonicalLinkDetector​

The detector used to identify canonical link declarations in HTTP responses and HTML meta tags, rejecting non-canonical URLs to avoid duplicates. Defaults to GenericCanonicalLinkDetector. Set to null to disable canonical link detection.

changeDiscovery​

Defines how the crawler discovers changes during a run. CRAWLER_SCAN (default) discovers changes by scanning source inventory and can treat missing references as orphan evidence in incremental runs. SOURCE_DELTA expects explicit source-side change/delete signals, so missing references alone are not treated as orphan evidence.

Allowed Values​

  • CRAWLER_SCAN
  • SOURCE_DELTA

cluster​

Cluster configuration for the crawler, including the connector type, whether clustering is enabled, and administrative port settings.

committers​

One or more Committers responsible for persisting crawled documents to a target repository. Multiple committers can be configured to send data to different destinations simultaneously.

deferredShutdownDuration​

The amount of time to defer crawler shutdown after it finishes executing. Useful for giving external processes with polling intervals enough time to read the final state before the crawler exits. Default is zero (no deferred shutdown).

delayResolver​

Dictates the minimum amount of time to wait between web requests, helping crawlers be respectful of target web sites. Defaults to GenericDelayResolver.

documentChecksummer​

Generates a checksum from a document's content to detect changes between crawl sessions. Set to null to disable document checksumming. Defaults to Md5DocumentChecksummer.

documentDeduplicate​

When enabled, documents sharing the same document checksum within a crawl session are treated as duplicates and rejected. Requires a document checksummer to be configured. Not recommended unless checksums are guaranteed to be sufficiently unique.

documentFetchSupport​

Controls how the HTTP GET request (document fetch) is handled. Supported values are DISABLED (no GET request is made), OPTIONAL (a failed GET does not stop processing if HEAD succeeded), and REQUIRED (a failed GET rejects the document). Default is REQUIRED.

Allowed Values​

  • DISABLED
  • OPTIONAL
  • REQUIRED

documentFilters​

Filters applied after a document is downloaded but before it is imported, allowing rejection based on the document's content or metadata.

eventListeners​

A list of event listeners that are notified of crawler events such as document rejection, import completion, commit, and more. These are in addition to any configuration objects that automatically implement the listener interface.

fetchers​

One or more fetchers responsible for downloading documents and their metadata. Fetchers are tried in order; the first one that accepts and successfully processes a reference is used, and the others are skipped. Defaults to HttpClientFetcher.

fetchersMaxRetries​

The maximum number of times a fetcher will re-attempt fetching a resource after a failure. Default is zero (no retries).

fetchersRetryDelay​

The amount of time to wait before a failing fetcher re-attempts fetching a resource. Default is zero (no delay between retries).

id​

The unique identifier for this crawler. Must be unique among all crawlers in the same crawl session. Used to distinguish crawlers and facilitate integration and tracking.

idleTimeout​

The maximum amount of time to wait before shutting down a crawler that has an empty queue and no active processing. A non-zero value is useful when an external process populates the queue asynchronously. Default is 5 seconds.

importer​

The Importer module configuration, responsible for transforming, parsing, and enriching documents after they are fetched.

Specifies which types of extracted links are stored as document metadata. Supported values are INSCOPE (default, stores in-scope links), OUTSCOPE (stores out-of-scope links), and MAXDEPTH (also stores links found on pages at the maximum crawl depth).

linkExtractors​

One or more link extractors responsible for identifying URLs in crawled documents for further crawling. Multiple extractors can handle different content types. Defaults to HtmlLinkExtractor.

maxCrawlDuration​

The maximum amount of time a crawler is allowed to run. A zero or negative value means unlimited. Default is zero (unlimited).

maxDepth​

The maximum crawl depth, representing how many link-levels away from a start URL the crawler will follow. Default is -1 (unlimited).

maxDocuments​

Maximum number of documents processed in a single crawler run before the crawler stops. If the queue still contains documents when this limit is reached, the crawl session is paused, not completed, and the next run resumes the same session.

maxQueueBatchSize​

The maximum number of references a node reads at once from the queue to process locally. Default is 50.

maxStreamCachePoolSize​

The maximum number of bytes used for in-memory caching of all reusable streams combined at any given time. When this limit is reached, file-based caching is used instead. Default is 1 GB.

maxStreamCacheSize​

The maximum number of bytes used for in-memory caching of a single reusable stream. When this per-stream limit is reached, file-based caching is used. Default is 100 MB.

metadataChecksummer​

Generates a checksum from a document's metadata to detect changes between crawl sessions. Set to null to disable metadata checksumming. Defaults to LastModifiedMetadataChecksummer for web crawls.

metadataDeduplicate​

When enabled, documents sharing the same metadata checksum within a crawl session are treated as duplicates and rejected. Requires a metadata checksummer to be configured. Not recommended unless checksums are guaranteed to be sufficiently unique.

metadataFetchSupport​

Controls how the HTTP HEAD request (metadata fetch) is handled. Supported values are DISABLED (no HEAD request, default), OPTIONAL (a failed HEAD does not stop processing if GET succeeds), and REQUIRED (a failed HEAD rejects the document).

Allowed Values​

  • DISABLED
  • OPTIONAL
  • REQUIRED

metadataFilters​

Filters applied to document metadata fields, allowing rejection of documents before content downloading (when using HTTP HEAD) or after downloading (when using HTTP GET only).

minProgressLoggingInterval​

The minimum amount of time to wait between each logging of crawling progress. A null value or a value below 1 second disables progress logging. Default is 30 seconds.

numThreads​

The maximum number of concurrent processing threads for the crawler. In clustered mode, this value applies per node. Default is 2.

orphansStrategy​

Determines what to do with previously crawled documents that are no longer found during the current crawl (orphans). Typical values are PROCESS, DELETE, or IGNORE.

Allowed Values​

  • PROCESS
  • DELETE
  • IGNORE

postImportConsumers​

A list of document consumers invoked after the document has been processed by the importer.

A field matcher identifying post-import metadata fields that contain URLs to be queued for crawling. Used for advanced cases where link extraction is deferred to the import phase.

postImportLinksKeep​

When enabled, the metadata fields matched by postImportLinks are retained on the document after their URLs have been queued. By default, those fields are deleted after processing.

preImportConsumers​

A list of document consumers invoked before the document is sent to the importer for content extraction and metadata enrichment.

recrawlableResolver​

Determines whether a previously crawled URL is ready to be re-crawled in the current session, based on elapsed time or other criteria. Defaults to GenericRecrawlableResolver.

referenceFilters​

Filters applied to document references (URLs or file paths) to control which ones are fetched. Documents whose references do not pass the filters are skipped.

robotsMetaProvider​

Provides robots metadata rules from HTTP response headers (e.g., X-Robots-Tag) for individual pages. Defaults to StandardRobotsMetaProvider. Set to null to disable robots metadata support.

robotsTxtProvider​

Provides robots.txt crawling rules for web sites. Defaults to StandardRobotsTxtProvider. Set to null to disable robots.txt support.

sitemapLocator​

Locates sitemaps for web sites by checking common paths or reading robots.txt. Defaults to GenericSitemapLocator. Set to null to disable automatic sitemap detection (only sitemap start references will be used).

sitemapResolver​

Resolves and processes sitemap files, extracting URLs for crawling. Defaults to GenericSitemapResolver. Set to null to disable all sitemap support.

spoiledReferenceStrategizer​

Determines how to handle references that repeatedly fail to be fetched or processed. Configures the strategy for dealing with such "spoiled" references.

startReferences​

The initial set of document references (URLs or file paths) from which the crawl begins.

startReferencesAsync​

When enabled, start references are provided and consumed asynchronously, allowing the crawl to begin before all start references are available. While this may speed up crawling, it may have an unexpected effect on the accuracy of the established page "depth". Usage of this option is only recommended when start URLs take a significant time to load.

startReferencesFiles​

One or more files containing lists of start references, one reference per line.

startReferencesProviders​

A list of pluggable providers that supply the initial references to crawl, used when start references come from a dynamic or external source.

startReferencesSitemaps​

One or more sitemap XML URLs to use as starting points for crawling. The sitemap resolver will process these to extract the URLs to crawl.

stopOnExceptions​

A list of fully qualified exception class names which, when encountered, will stop the crawler.

urlNormalizers​

One or more URL normalizers that convert URLs to a canonical form to prevent the same page from being crawled multiple times under different URL variations. Executed in order. Defaults to GenericUrlNormalizer.

urlScopeResolver​

Determines whether a discovered URL is within the crawl scope (e.g., confined to the same domain or site). Defaults to GenericUrlScopeResolver.

workDir​

The directory where working files (temporary data, queues, state) are stored during crawl execution.