Manual range bucket configuration

The setting of range bucket values is performed on a field basis. Each range indexed field may have a Registry entry that defines the range buckets for that field. If a Registry entry does not exist, the built-in values defined when the table was designed are used.

You can determine which fields have range indexing enabled by using the emuindexing command. For example, running emuindexing eparties will show all indexes available for the Parties module on a field by field basis:

Table "eparties"
        irn
                Type: Integer
                Indexing: Key
        SummaryData
                Type: Text
                Indexing: Word, Phonetic
        BioDeathEarliestDate
                Type: Date
                Indexing: Word, Range
        BioDeathLatestDate
                Type: Date
                Indexing: Word, Range
        ...

The word Range indicates fields that have range indexing enabled. Range indexing is available on fields of type:

  • Integer
  • Float
  • Date
  • Time
  • Latitude
  • Longitude

In general, all fields of the above types will have ranging already enabled. It is possible to enable and disable range indexing on fields of the above types via EMu Registry entries. The same Registry entry used to set range buckets can also "disable" ranging by setting the number of buckets to zero. Ranging is enabled by specifying one or more range bucket values on a field, provided the field is one of the above types. Range searching is not supported on Text or String based fields.

The Registry entry used to configure range buckets for a field is of the form:

System|Setting|Table|table|Range Buckets|column|bucket;...

where table is the name of the EMu module that contains the field to be configured and column is the name of the field (this can be determined by using the What's this help? facility in the EMu client, or via the emuindexing command). The bucket setting is a semicolon separated list of values to be used for range buckets. The format of the value depends on the field type.

Consider an example using the Date Visited field with range buckets of 2000-01-01, 2003-01-01, 2006-01-01 and 2009-01-01. This entry may be used to set these buckets:

System|Setting|Table|ecollectionevents|Range Buckets|ColDateVisited|2000-01-01;2003-01-02;2006-01-01;2009-01-01

When using the Range Buckets Registry entry it is important to make sure that the values specified are all fully qualified. In particular, full date values are required. The table below shows what constitutes a fully qualified value for each field type:

Field Type

Format

Examples

Integer n -10, 12, 25
Float n.nnnn -23.0, -5, 2.125, 10
Date yyyy-mm-dd 2003-10-23, 2008-03-17
Time hh:mm:ss.sss 10:30:00, 18:00:00.000
Latitude dd:mm:ss.sss:D 9:12:15.1:N,35:06:01:S
Longitude ddd:mm:ss.sss:D 123:34:06.34:W

The Registry entry below could be used to set the range buckets on the Latitude field in the Collection Events module:

System|Setting|Table|ecollectionevents|Range Buckets|LatLatitude_tab|16:00:00:S;18:00:00:S;20:00:00:S;22:00:00:S

Using the Range Buckets Registry entry System Administrators can set the range buckets on any range based field manually. In order to help with this configuration a tool is provided that can analyse the values in a field and provide a data distribution table, as well as suggesting suitable bucket values.