Indexer

« Back to receiving

The indexer is a complex listener that processes products to aggregate the various product types from various sources into the seismic events to which they relate. In addition to the standard listener properties, this type of listener accepts the following specific properties:

archiveInterval
The interval (in milliseconds) on which to run the configured archive policies
Default: 300000
archivePolicy
A comma-separated list of named configuration sub-sections, each of which define an ArchivePolicy
associator
The name of a configuration sub-section defining an Associator for the indexer to use when associating products.
Optional, default: DefaultAssociator
associateUsingCurrentProducts
Boolean flag indicating if only current (i.e., not superseded) products shall be considered when searching for candidate events to which a product should be associated.
Optional, default: false
index
Property referencing a ProductIndex implementation. sub-section.
One of index or indexFile is required
indexFile
The name of a file where a SQLite database for the index will be created.
One of index or indexFile is required
listeners
A comma-separated list of listeners to be notified about indexing events. Each listener should be a reference to a named configuration sub-section defining an IndexerListener.
localRegionsFile
The path to a local file containing regional information used when determining preferred weight for products.
Default: regions.json
modules
A comma-separated list of modules used when summarizing a product. Each module should be a reference to a named configuration sub-section defining an IndexerModule.
storage
A reference to a named configuration sub-section defining a ProductStorage implementation used by the indexer
One of storage and storageDirectory is required
storageDirectory
The name of the directory where a FileProductStorage should be created for use by the indexer.
One of storage and storageDirectory is required

Example configuration

Note: This is a fully configured ExternalNotificationListener using default values for optional parameters. The optionally configured subsections are configured with example types that can be used.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
listeners = indexer

[indexer]
type = gov.usgs.earthquake.indexer.Indexer
# the following configuration parameters are supported by all listeners
cleanupInterval = 3600000
concurrentProducts = 1
excludePaths = 
excludeSources = 
excludeTypes =
includeActuals = true
includeDevelopments = false
includeInternals = false
includePaths = 
includeScenarios = false
includeSources = 
includeTests = false
includeTypes = 
listenerIndex = listener_index
maxTries = 1
processDuplicates = false
retryDelay = 300000
timeout = 0
# the following configuration parameters are specific to an Indexer
archiveInterval = 300000
archivePolicy = archive_policy_one_day
associator = default_associator
associateUsingCurrentProducts = false
index = indexer_index
listeners = indexer_listener
modules = origin_indexer_module
storage = indexer_storage

[listener_index]
type = gov.usgs.earthquake.aws.JsonNotificationIndex
table = listener_index

[archive_policy_one_day]
type = gov.usgs.earthquake.indexer.ArchivePolicy
minEventAge = 86400

[default_associator]
type = gov.usgs.earthquake.indexer.DefaultAssociator

[indexer_index]
type = gov.usgs.earthquake.indexer.JDBCProductIndex
indexfile = listener_product_index.db

[indexer_listener]
type = gov.usgs.earthquake.indexer.ExternalIndexerListener
command = /bin/echo
storageDirectory = indexer_listener_storage

[origin_indexer_module]
type = gov.usgs.earthquake.origin.OriginIndexerModule

[indexer_storage]
type = gov.usgs.earthquake.distribution.FileProductStorage
directory = indexer_storage

Note: The indexer leverages configuration for both a listenerIndex and an index. The listenerIndex keeps track of which products the listener has previously received notifications about from its receiver. Conversely the index is where products are summarized and associated into events.



Last modified: Mon Jun 9 21:30:02 UTC 2025