Class: IndexerCommonConfig

Inherits:
Object
  • Object
show all
Defined in:
indexer/app/lib/indexer_common_config.rb

Class Method Summary collapse

Class Method Details

.do_not_indexObject

[View source]

108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'indexer/app/lib/indexer_common_config.rb', line 108

def self.do_not_index
  # ANW-1065
  # #sanitize_json uses this hash to clean up sensitive data, preventing it from being indexed.
  # It does this by mutating the record being indexed, removing the data so it is not available
  # in the json field or to the fullrecord field when that is built
  {
      "agent_person"           => {:location => [],
                                   :to_clean => "agent_contacts"},
      "agent_family"           => {:location => [],
                                   :to_clean => "agent_contacts"},
      "agent_corporate_entity" => {:location => [],
                                   :to_clean => "agent_contacts"},
      "agent_software"         => {:location => [],
                                   :to_clean => "agent_contacts"},
  }
end

.fullrecord_excludesObject

build_fullrecord uses this to exclude indexing of the record property from the fullrecord field

this means these properties (including any embedded / sub properties) do not influence search via fullrecord for the record that is being indexed

[View source]

83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# File 'indexer/app/lib/indexer_common_config.rb', line 83

def self.fullrecord_excludes
  [
    "created_by",
    "last_modified_by",
    "system_mtime",
    "user_mtime",
    "json",
    "types",
    "create_time",
    "date_type",
    "jsonmodel_type",
    "publish",
    "extent_type",
    "language",
    "script",
    "system_generated",
    "suppressed",
    "source",
    "rules",
    "name_order",
    "repository",
    "top_container"
  ]
end

.global_typesObject

[View source]

27
28
29
30
31
32
33
34
35
36
# File 'indexer/app/lib/indexer_common_config.rb', line 27

def self.global_types
  [
    :agent_person,
    :agent_software,
    :agent_family,
    :agent_corporate_entity,
    :location,
    :subject
  ]
end

.record_typesObject

[View source]

3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'indexer/app/lib/indexer_common_config.rb', line 3

def self.record_types
  [
    :resource,
    :digital_object,
    :accession,
    :agent_person,
    :agent_software,
    :agent_family,
    :agent_corporate_entity,
    :subject,
    :location,
    :event,
    :top_container,
    :classification,
    :container_profile,
    :location_profile,
    :archival_object,
    :digital_object_component,
    :classification_term,
    :assessment,
    :job
  ]
end

.resolved_attributesObject

[View source]

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'indexer/app/lib/indexer_common_config.rb', line 38

def self.resolved_attributes
  [
    'location_profile',
    'container_profile',
    'container_locations',
    'subjects',
    'places',

    # EAD export depends on this
    'linked_agents',
    'linked_records',
    'classifications',

    # EAD export depends on this
    'digital_object',
    'agent_representation',
    'repository',
    'repository::agent_representation',
    'related_agents',

    # EAD export depends on this
    'top_container',

    # EAD export depends on this
    'top_container::container_profile',

    # Assessment module depends on these
    'related_agents',
    'records',
    'collections',
    'surveyed_by',
    'reviewer',
    'creator',

    #Accessions module depends on these
    'related_accessions',

    #Container profile depends on this
    'notes',
  ]
end