Indexer
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
orindexFile
is required - indexFile
- The name of a file where a SQLite database for the index will be created.
- One of
index
orindexFile
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
andstorageDirectory
is required - storageDirectory
- The name of the directory where a
FileProductStorage
should be created for use by the indexer. - One of
storage
andstorageDirectory
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 anindex
. ThelistenerIndex
keeps track of which products the listener has previously received notifications about from its receiver. Conversely theindex
is where products are summarized and associated into events.
Last modified: Mon Jun 9 21:30:02 UTC 2025