active-fedora 12.0.3 → 12.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +7 -7
- data/.rubocop_todo.yml +10 -100
- data/.travis.yml +21 -0
- data/CODE_OF_CONDUCT.md +36 -0
- data/CONTRIBUTING.md +23 -21
- data/Gemfile +1 -2
- data/History.txt +29 -29
- data/LICENSE +16 -14
- data/README.md +40 -29
- data/SUPPORT.md +5 -0
- data/active-fedora.gemspec +7 -7
- data/lib/active_fedora.rb +1 -1
- data/lib/active_fedora/aggregation/list_source.rb +3 -2
- data/lib/active_fedora/associations/builder/collection_association.rb +1 -0
- data/lib/active_fedora/associations/collection_association.rb +3 -0
- data/lib/active_fedora/associations/collection_proxy.rb +2 -0
- data/lib/active_fedora/associations/directly_contains_one_association.rb +1 -0
- data/lib/active_fedora/associations/indirectly_contains_association.rb +2 -0
- data/lib/active_fedora/associations/singular_association.rb +1 -0
- data/lib/active_fedora/attribute_methods.rb +1 -1
- data/lib/active_fedora/attribute_methods/read.rb +1 -1
- data/lib/active_fedora/attribute_methods/write.rb +1 -1
- data/lib/active_fedora/attributes.rb +1 -1
- data/lib/active_fedora/attributes/property_builder.rb +1 -0
- data/lib/active_fedora/callbacks.rb +7 -2
- data/lib/active_fedora/fedora.rb +8 -0
- data/lib/active_fedora/file.rb +7 -5
- data/lib/active_fedora/indexing/descendant_fetcher.rb +1 -1
- data/lib/active_fedora/indexing/field_mapper.rb +2 -0
- data/lib/active_fedora/indexing/suffix.rb +3 -1
- data/lib/active_fedora/inheritable_accessors.rb +1 -0
- data/lib/active_fedora/loadable_from_json.rb +1 -0
- data/lib/active_fedora/nested_attributes.rb +1 -0
- data/lib/active_fedora/persistence.rb +14 -1
- data/lib/active_fedora/persistence/null_identifier_service.rb +11 -0
- data/lib/active_fedora/reflection.rb +1 -1
- data/lib/active_fedora/relation.rb +14 -0
- data/lib/active_fedora/relation/delegation.rb +2 -1
- data/lib/active_fedora/relation/finder_methods.rb +1 -0
- data/lib/active_fedora/relation/merger.rb +1 -0
- data/lib/active_fedora/validations.rb +7 -0
- data/lib/active_fedora/version.rb +1 -1
- data/lib/active_fedora/with_metadata.rb +1 -0
- data/lib/active_fedora/with_metadata/metadata_node.rb +2 -1
- data/lib/generators/active_fedora/config/solr/templates/solr/config/schema.xml +64 -51
- data/lib/generators/active_fedora/config/solr/templates/solr/config/solrconfig.xml +4 -1
- data/lib/generators/active_fedora/model/templates/datastream.rb.erb +1 -1
- data/spec/integration/file_spec.rb +1 -1
- data/spec/integration/relation_spec.rb +43 -0
- data/spec/spec_helper.rb +11 -9
- data/spec/support/an_active_model.rb +4 -0
- data/spec/unit/callback_spec.rb +8 -1
- data/spec/unit/file_spec.rb +0 -17
- data/spec/unit/validations_spec.rb +18 -0
- metadata +28 -25
- data/.circleci/config.yml +0 -47
@@ -45,12 +45,14 @@ module ActiveFedora
|
|
45
45
|
end
|
46
46
|
|
47
47
|
def self.config
|
48
|
+
# TODO: `:symbol' usage ought to be deprecated
|
49
|
+
# See https://github.com/samvera/active_fedora/issues/1334
|
48
50
|
@config ||= OpenStruct.new fields: [:type, :stored, :indexed, :multivalued],
|
49
51
|
suffix_delimiter: '_',
|
50
52
|
type_suffix: (lambda do |fields|
|
51
53
|
type = fields.first
|
52
54
|
case type
|
53
|
-
when :string, :symbol
|
55
|
+
when :string, :symbol
|
54
56
|
's'
|
55
57
|
when :text
|
56
58
|
't'
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# Similar to ActiveSupport.class_attribute but with a setter that doesn't use the #{name}= syntax
|
2
2
|
# This preserves backward compatibility with the API in ActiveTriples
|
3
|
+
require "active_support/core_ext/module/remove_method"
|
3
4
|
|
4
5
|
module ActiveFedora
|
5
6
|
module InheritableAccessors
|
@@ -131,6 +131,7 @@ module ActiveFedora
|
|
131
131
|
@resource = SolrBackedResource.new(self.class)
|
132
132
|
self.attributes = adapt_attributes(attrs)
|
133
133
|
# TODO: Should we clear the change tracking, or make this object Read-only?
|
134
|
+
# See https://github.com/samvera/active_fedora/issues/1342
|
134
135
|
|
135
136
|
yield self if block_given?
|
136
137
|
|
@@ -64,6 +64,7 @@ module ActiveFedora
|
|
64
64
|
reflection.autosave = true
|
65
65
|
define_autosave_association_callbacks(reflection)
|
66
66
|
## TODO this ought to work, but doesn't seem to do the class inheritance right
|
67
|
+
# See https://github.com/samvera/active_fedora/issues/1343
|
67
68
|
|
68
69
|
nested_attributes_options = self.nested_attributes_options.dup
|
69
70
|
nested_attributes_options[association_name.to_sym] = options
|
@@ -2,6 +2,13 @@ module ActiveFedora
|
|
2
2
|
# = Active Fedora Persistence
|
3
3
|
module Persistence
|
4
4
|
extend ActiveSupport::Concern
|
5
|
+
extend ActiveSupport::Autoload
|
6
|
+
autoload :NullIdentifierService
|
7
|
+
|
8
|
+
included do
|
9
|
+
class_attribute :identifier_service_class
|
10
|
+
self.identifier_service_class = NullIdentifierService
|
11
|
+
end
|
5
12
|
|
6
13
|
def new_record?
|
7
14
|
return true if @ldp_source.subject.nil?
|
@@ -209,7 +216,13 @@ module ActiveFedora
|
|
209
216
|
end
|
210
217
|
|
211
218
|
# Override to tie in an ID minting service
|
212
|
-
def assign_id
|
219
|
+
def assign_id
|
220
|
+
identifier_service.mint
|
221
|
+
end
|
222
|
+
|
223
|
+
def identifier_service
|
224
|
+
@identifier_service ||= identifier_service_class.new
|
225
|
+
end
|
213
226
|
|
214
227
|
# This is only used when creating a new record. If the object doesn't have an id
|
215
228
|
# and assign_id can mint an id for the object, then assign it to the resource.
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module ActiveFedora
|
2
|
+
module Persistence
|
3
|
+
# An identifier service that doesn't mint IDs, so that the autocreated
|
4
|
+
# identifiers from Fedora will be used.
|
5
|
+
class NullIdentifierService
|
6
|
+
# Effectively a no-op
|
7
|
+
# @return [NilClass]
|
8
|
+
def mint; end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -314,7 +314,7 @@ module ActiveFedora
|
|
314
314
|
def collect_join_chain
|
315
315
|
[self]
|
316
316
|
end
|
317
|
-
alias chain collect_join_chain #
|
317
|
+
alias chain collect_join_chain # TODO Remove alias, See https://github.com/samvera/active_fedora/issues/1347
|
318
318
|
|
319
319
|
def has_inverse?
|
320
320
|
inverse_name
|
@@ -144,6 +144,20 @@ module ActiveFedora
|
|
144
144
|
@scope_for_create ||= where_values_hash.merge(create_with_value)
|
145
145
|
end
|
146
146
|
|
147
|
+
def each
|
148
|
+
if loaded?
|
149
|
+
@records.each { |item| yield item } if block_given?
|
150
|
+
@records.to_enum
|
151
|
+
else
|
152
|
+
find_each(where_values) { |item| yield item } if block_given?
|
153
|
+
enum_for(:find_each, where_values)
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
def empty?
|
158
|
+
!any?
|
159
|
+
end
|
160
|
+
|
147
161
|
private
|
148
162
|
|
149
163
|
VALID_FIND_OPTIONS = [:order, :limit, :start, :conditions, :cast].freeze
|
@@ -13,7 +13,8 @@ module ActiveFedora
|
|
13
13
|
:keep_if, :pop, :shift, :delete_at, :select!
|
14
14
|
].to_set
|
15
15
|
|
16
|
-
delegate :length, :
|
16
|
+
delegate :length, :map, :to_ary, to: :to_a
|
17
|
+
delegate :any?, :all?, :collect, :include?, to: :each
|
17
18
|
|
18
19
|
protected
|
19
20
|
|
@@ -262,6 +262,7 @@ module ActiveFedora
|
|
262
262
|
def field_name_for(key)
|
263
263
|
if @klass.delegated_attributes.key?(key)
|
264
264
|
# TODO: Check to see if `key' is a possible solr field for this class, if it isn't try :searchable instead
|
265
|
+
# See https://github.com/samvera/active_fedora/issues/1344
|
265
266
|
ActiveFedora.index_field_mapper.solr_name(key, :stored_searchable, type: :string)
|
266
267
|
elsif key == :id
|
267
268
|
ActiveFedora.id_field
|
@@ -92,5 +92,12 @@ module ActiveFedora
|
|
92
92
|
def perform_validations(options = {}) # :nodoc:
|
93
93
|
options[:validate] == false || valid?(options[:context])
|
94
94
|
end
|
95
|
+
|
96
|
+
private
|
97
|
+
|
98
|
+
# Overwrite run validations to include callbacks.
|
99
|
+
def run_validations!
|
100
|
+
_run_validation_callbacks { super }
|
101
|
+
end
|
95
102
|
end
|
96
103
|
end
|
@@ -20,6 +20,7 @@ module ActiveFedora
|
|
20
20
|
|
21
21
|
def create_or_update(*)
|
22
22
|
return unless super && !new_record?
|
23
|
+
# TODOs captured as https://github.com/samvera/active_fedora/issues/1331
|
23
24
|
metadata_node.metadata_uri = described_by # TODO: only necessary if the URI was < > before
|
24
25
|
metadata_node.save # TODO if changed?
|
25
26
|
end
|
@@ -15,6 +15,7 @@ module ActiveFedora
|
|
15
15
|
@file = file
|
16
16
|
super(file.uri, ldp_source.graph)
|
17
17
|
return unless self.class.type && !type.include?(self.class.type)
|
18
|
+
attributes_changed_by_setter[:type] = true if type.present?
|
18
19
|
# Workaround for https://github.com/ActiveTriples/ActiveTriples/issues/123
|
19
20
|
get_values(:type) << self.class.type
|
20
21
|
end
|
@@ -54,7 +55,7 @@ module ActiveFedora
|
|
54
55
|
|
55
56
|
def changed_attributes
|
56
57
|
super.tap do |changed|
|
57
|
-
changed
|
58
|
+
changed.merge('type' => true) if type.present? && new_record?
|
58
59
|
end
|
59
60
|
end
|
60
61
|
|
@@ -48,43 +48,47 @@
|
|
48
48
|
<schema name="Hydra Demo Index" version="1.5">
|
49
49
|
<!-- attribute "name" is the name of this schema and is only used for display purposes.
|
50
50
|
Applications should change this to reflect the nature of the search collection.
|
51
|
-
version="1.
|
51
|
+
version="1.5" is Solr's version number for the schema syntax and semantics. It should
|
52
52
|
not normally be changed by applications.
|
53
53
|
1.0: multiValued attribute did not exist, all fields are multiValued by nature
|
54
54
|
1.1: multiValued attribute introduced, false by default
|
55
55
|
1.2: omitTermFreqAndPositions attribute introduced, true by default except for text fields.
|
56
56
|
1.3: removed optional field compress feature
|
57
57
|
1.4: default auto-phrase (QueryParser feature) to off
|
58
|
+
1.5: omitNorms defaults to true for primitive field types (int, float, boolean, string...)
|
59
|
+
# TODO 1.6: useDocValuesAsStored defaults to true.
|
60
|
+
# See https://github.com/samvera/active_fedora/issues/1346
|
58
61
|
-->
|
59
62
|
|
60
63
|
<types>
|
61
64
|
<fieldType name="string" class="solr.StrField" sortMissingLast="true" />
|
62
|
-
<fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/>
|
65
|
+
<fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/>
|
63
66
|
<fieldType name="rand" class="solr.RandomSortField" omitNorms="true"/>
|
64
|
-
|
67
|
+
|
65
68
|
<!-- Default numeric field types. -->
|
66
|
-
<fieldType name="int" class="solr.
|
67
|
-
<fieldType name="float" class="solr.
|
68
|
-
<fieldType name="long" class="solr.
|
69
|
-
<fieldType name="double" class="solr.
|
70
|
-
|
71
|
-
<!--
|
72
|
-
<fieldType name="tint" class="solr.
|
73
|
-
<fieldType name="tfloat" class="solr.
|
74
|
-
<fieldType name="tlong" class="solr.
|
75
|
-
<fieldType name="tdouble" class="solr.
|
76
|
-
|
69
|
+
<fieldType name="int" class="solr.IntPointField" docValues="true"/>
|
70
|
+
<fieldType name="float" class="solr.FloatPointField" docValues="true"/>
|
71
|
+
<fieldType name="long" class="solr.LongPointField" docValues="true"/>
|
72
|
+
<fieldType name="double" class="solr.DoublePointField" docValues="true"/>
|
73
|
+
|
74
|
+
<!-- PointField numeric field types for faster range queries -->
|
75
|
+
<fieldType name="tint" class="solr.IntPointField" docValues="true"/>
|
76
|
+
<fieldType name="tfloat" class="solr.FloatPointField" docValues="true"/>
|
77
|
+
<fieldType name="tlong" class="solr.LongPointField" docValues="true"/>
|
78
|
+
<fieldType name="tdouble" class="solr.DoublePointField" docValues="true"/>
|
79
|
+
|
77
80
|
<!-- The format for this date field is of the form 1995-12-31T23:59:59Z
|
78
81
|
Optional fractional seconds are allowed: 1995-12-31T23:59:59.999Z
|
79
82
|
-->
|
80
|
-
<fieldType name="date" class="solr.
|
81
|
-
<!-- A
|
82
|
-
<fieldType name="tdate" class="solr.
|
83
|
-
|
84
|
-
|
83
|
+
<fieldType name="date" class="solr.DatePointField" docValues="true"/>
|
84
|
+
<!-- A PointField based date field for faster date range queries and date faceting. -->
|
85
|
+
<fieldType name="tdate" class="solr.DatePointField" docValues="true"/>
|
86
|
+
<!-- A DateRange based date field for truly faster date range queries. -->
|
87
|
+
<fieldType name="dateRange" class="solr.DateRangeField"/>
|
88
|
+
|
85
89
|
<!-- This point type indexes the coordinates as separate fields (subFields)
|
86
90
|
If subFieldType is defined, it references a type, and a dynamic field
|
87
|
-
definition is created matching *___<typename>. Alternately, if
|
91
|
+
definition is created matching *___<typename>. Alternately, if
|
88
92
|
subFieldSuffix is defined, that is used to create the subFields.
|
89
93
|
Example: if subFieldType="double", then the coordinates would be
|
90
94
|
indexed in fields myloc_0___double,myloc_1___double.
|
@@ -94,17 +98,17 @@
|
|
94
98
|
users normally should not need to know about them.
|
95
99
|
-->
|
96
100
|
<fieldType name="point" class="solr.PointType" dimension="2" subFieldSuffix="_d"/>
|
97
|
-
|
101
|
+
|
98
102
|
<!-- A specialized field for geospatial search. If indexed, this fieldType must not be multivalued. -->
|
99
103
|
<fieldType name="location" class="solr.LatLonType" subFieldSuffix="_coordinate"/>
|
100
|
-
|
104
|
+
|
101
105
|
<!-- An alternative geospatial field type new to Solr 4. It supports multiValued and polygon shapes.
|
102
106
|
For more information about this and other Spatial fields new to Solr 4, see:
|
103
107
|
http://wiki.apache.org/solr/SolrAdaptersForLuceneSpatial4
|
104
108
|
-->
|
105
109
|
<fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType"
|
106
110
|
geo="true" distErrPct="0.025" maxDistErr="0.000009" distanceUnits="degrees" />
|
107
|
-
|
111
|
+
|
108
112
|
<fieldType name="text" class="solr.TextField" omitNorms="false">
|
109
113
|
<analyzer>
|
110
114
|
<tokenizer class="solr.ICUTokenizerFactory"/>
|
@@ -112,7 +116,7 @@
|
|
112
116
|
<filter class="solr.TrimFilterFactory"/>
|
113
117
|
</analyzer>
|
114
118
|
</fieldType>
|
115
|
-
|
119
|
+
|
116
120
|
<!-- A text field that only splits on whitespace for exact matching of words -->
|
117
121
|
<fieldType name="text_ws" class="solr.TextField" positionIncrementGap="100">
|
118
122
|
<analyzer>
|
@@ -120,7 +124,7 @@
|
|
120
124
|
<filter class="solr.TrimFilterFactory"/>
|
121
125
|
</analyzer>
|
122
126
|
</fieldType>
|
123
|
-
|
127
|
+
|
124
128
|
<!-- single token analyzed text, for sorting. Punctuation is significant. -->
|
125
129
|
<fieldtype name="alphaSort" class="solr.TextField" sortMissingLast="true" omitNorms="true">
|
126
130
|
<analyzer>
|
@@ -129,7 +133,7 @@
|
|
129
133
|
<filter class="solr.TrimFilterFactory" />
|
130
134
|
</analyzer>
|
131
135
|
</fieldtype>
|
132
|
-
|
136
|
+
|
133
137
|
<!-- A text field with defaults appropriate for English -->
|
134
138
|
<fieldType name="text_en" class="solr.TextField" positionIncrementGap="100">
|
135
139
|
<analyzer>
|
@@ -144,7 +148,7 @@
|
|
144
148
|
<filter class="solr.TrimFilterFactory"/>
|
145
149
|
</analyzer>
|
146
150
|
</fieldType>
|
147
|
-
|
151
|
+
|
148
152
|
<!-- queries for paths match documents at that path, or in descendent paths -->
|
149
153
|
<fieldType name="descendent_path" class="solr.TextField">
|
150
154
|
<analyzer type="index">
|
@@ -154,7 +158,7 @@
|
|
154
158
|
<tokenizer class="solr.KeywordTokenizerFactory" />
|
155
159
|
</analyzer>
|
156
160
|
</fieldType>
|
157
|
-
|
161
|
+
|
158
162
|
<!-- queries for paths match documents at that path, or in ancestor paths -->
|
159
163
|
<fieldType name="ancestor_path" class="solr.TextField">
|
160
164
|
<analyzer type="index">
|
@@ -179,12 +183,12 @@
|
|
179
183
|
<fields>
|
180
184
|
<!-- If you remove this field, you must _also_ disable the update log in solrconfig.xml
|
181
185
|
or Solr won't start. _version_ and update log are required for SolrCloud
|
182
|
-
-->
|
186
|
+
-->
|
183
187
|
<field name="_version_" type="long" indexed="true" stored="true"/>
|
184
|
-
|
188
|
+
|
185
189
|
<field name="id" type="string" stored="true" indexed="true" multiValued="false" required="true"/>
|
186
190
|
<field name="timestamp" type="date" indexed="true" stored="true" default="NOW" multiValued="false"/>
|
187
|
-
|
191
|
+
|
188
192
|
<field name="lat" type="tdouble" stored="true" indexed="true" multiValued="false"/>
|
189
193
|
<field name="lng" type="tdouble" stored="true" indexed="true" multiValued="false"/>
|
190
194
|
|
@@ -201,7 +205,7 @@
|
|
201
205
|
<dynamicField name="*_timv" type="text" stored="false" indexed="true" multiValued="true" termVectors="true" termPositions="true" termOffsets="true"/>
|
202
206
|
<dynamicField name="*_tsiv" type="text" stored="true" indexed="true" multiValued="false" termVectors="true" termPositions="true" termOffsets="true"/>
|
203
207
|
<dynamicField name="*_tsimv" type="text" stored="true" indexed="true" multiValued="true" termVectors="true" termPositions="true" termOffsets="true"/>
|
204
|
-
|
208
|
+
|
205
209
|
<!-- English text (_te...) -->
|
206
210
|
<dynamicField name="*_tei" type="text_en" stored="false" indexed="true" multiValued="false"/>
|
207
211
|
<dynamicField name="*_teim" type="text_en" stored="false" indexed="true" multiValued="true"/>
|
@@ -213,7 +217,7 @@
|
|
213
217
|
<dynamicField name="*_teimv" type="text_en" stored="false" indexed="true" multiValued="true" termVectors="true" termPositions="true" termOffsets="true"/>
|
214
218
|
<dynamicField name="*_tesiv" type="text_en" stored="true" indexed="true" multiValued="false" termVectors="true" termPositions="true" termOffsets="true"/>
|
215
219
|
<dynamicField name="*_tesimv" type="text_en" stored="true" indexed="true" multiValued="true" termVectors="true" termPositions="true" termOffsets="true"/>
|
216
|
-
|
220
|
+
|
217
221
|
<!-- string (_s...) -->
|
218
222
|
<dynamicField name="*_si" type="string" stored="false" indexed="true" multiValued="false"/>
|
219
223
|
<dynamicField name="*_sim" type="string" stored="false" indexed="true" multiValued="true"/>
|
@@ -222,7 +226,7 @@
|
|
222
226
|
<dynamicField name="*_ssi" type="string" stored="true" indexed="true" multiValued="false"/>
|
223
227
|
<dynamicField name="*_ssim" type="string" stored="true" indexed="true" multiValued="true"/>
|
224
228
|
<dynamicField name="*_ssort" type="alphaSort" stored="false" indexed="true" multiValued="false"/>
|
225
|
-
|
229
|
+
|
226
230
|
<!-- integer (_i...) -->
|
227
231
|
<dynamicField name="*_ii" type="int" stored="false" indexed="true" multiValued="false"/>
|
228
232
|
<dynamicField name="*_iim" type="int" stored="false" indexed="true" multiValued="true"/>
|
@@ -230,15 +234,15 @@
|
|
230
234
|
<dynamicField name="*_ism" type="int" stored="true" indexed="false" multiValued="true"/>
|
231
235
|
<dynamicField name="*_isi" type="int" stored="true" indexed="true" multiValued="false"/>
|
232
236
|
<dynamicField name="*_isim" type="int" stored="true" indexed="true" multiValued="true"/>
|
233
|
-
|
234
|
-
<!--
|
237
|
+
|
238
|
+
<!-- IntegerPointField (_it...) (for faster range queries) -->
|
235
239
|
<dynamicField name="*_iti" type="tint" stored="false" indexed="true" multiValued="false"/>
|
236
240
|
<dynamicField name="*_itim" type="tint" stored="false" indexed="true" multiValued="true"/>
|
237
241
|
<dynamicField name="*_its" type="tint" stored="true" indexed="false" multiValued="false"/>
|
238
242
|
<dynamicField name="*_itsm" type="tint" stored="true" indexed="false" multiValued="true"/>
|
239
243
|
<dynamicField name="*_itsi" type="tint" stored="true" indexed="true" multiValued="false"/>
|
240
244
|
<dynamicField name="*_itsim" type="tint" stored="true" indexed="true" multiValued="true"/>
|
241
|
-
|
245
|
+
|
242
246
|
<!-- date (_dt...) -->
|
243
247
|
<!-- The format for this date field is of the form 1995-12-31T23:59:59Z
|
244
248
|
Optional fractional seconds are allowed: 1995-12-31T23:59:59.999Z -->
|
@@ -248,15 +252,24 @@
|
|
248
252
|
<dynamicField name="*_dtsm" type="date" stored="true" indexed="false" multiValued="true"/>
|
249
253
|
<dynamicField name="*_dtsi" type="date" stored="true" indexed="true" multiValued="false"/>
|
250
254
|
<dynamicField name="*_dtsim" type="date" stored="true" indexed="true" multiValued="true"/>
|
251
|
-
|
252
|
-
<!--
|
255
|
+
|
256
|
+
<!-- DatePointField (_dtt...) (for faster range queries) -->
|
253
257
|
<dynamicField name="*_dtti" type="tdate" stored="false" indexed="true" multiValued="false"/>
|
254
258
|
<dynamicField name="*_dttim" type="tdate" stored="false" indexed="true" multiValued="true"/>
|
255
259
|
<dynamicField name="*_dtts" type="tdate" stored="true" indexed="false" multiValued="false"/>
|
256
260
|
<dynamicField name="*_dttsm" type="tdate" stored="true" indexed="false" multiValued="true"/>
|
257
261
|
<dynamicField name="*_dttsi" type="tdate" stored="true" indexed="true" multiValued="false"/>
|
258
262
|
<dynamicField name="*_dttsim" type="tdate" stored="true" indexed="true" multiValued="true"/>
|
259
|
-
|
263
|
+
|
264
|
+
|
265
|
+
<!-- date range (_dr...) (for faster AND better range queries) -->
|
266
|
+
<dynamicField name="*_dri" type="dateRange" stored="false" indexed="true" multiValued="false"/>
|
267
|
+
<dynamicField name="*_drim" type="dateRange" stored="false" indexed="true" multiValued="true"/>
|
268
|
+
<dynamicField name="*_drs" type="dateRange" stored="true" indexed="false" multiValued="false"/>
|
269
|
+
<dynamicField name="*_drsm" type="dateRange" stored="true" indexed="false" multiValued="true"/>
|
270
|
+
<dynamicField name="*_drsi" type="dateRange" stored="true" indexed="true" multiValued="false"/>
|
271
|
+
<dynamicField name="*_drsim" type="dateRange" stored="true" indexed="true" multiValued="true"/>
|
272
|
+
|
260
273
|
<!-- long (_l...) -->
|
261
274
|
<dynamicField name="*_li" type="long" stored="false" indexed="true" multiValued="false"/>
|
262
275
|
<dynamicField name="*_lim" type="long" stored="false" indexed="true" multiValued="true"/>
|
@@ -264,15 +277,15 @@
|
|
264
277
|
<dynamicField name="*_lsm" type="long" stored="true" indexed="false" multiValued="true"/>
|
265
278
|
<dynamicField name="*_lsi" type="long" stored="true" indexed="true" multiValued="false"/>
|
266
279
|
<dynamicField name="*_lsim" type="long" stored="true" indexed="true" multiValued="true"/>
|
267
|
-
|
268
|
-
<!--
|
280
|
+
|
281
|
+
<!-- LongPointField (_lt...) (for faster range queries) -->
|
269
282
|
<dynamicField name="*_lti" type="tlong" stored="false" indexed="true" multiValued="false"/>
|
270
283
|
<dynamicField name="*_ltim" type="tlong" stored="false" indexed="true" multiValued="true"/>
|
271
284
|
<dynamicField name="*_lts" type="tlong" stored="true" indexed="false" multiValued="false"/>
|
272
285
|
<dynamicField name="*_ltsm" type="tlong" stored="true" indexed="false" multiValued="true"/>
|
273
286
|
<dynamicField name="*_ltsi" type="tlong" stored="true" indexed="true" multiValued="false"/>
|
274
287
|
<dynamicField name="*_ltsim" type="tlong" stored="true" indexed="true" multiValued="true"/>
|
275
|
-
|
288
|
+
|
276
289
|
<!-- double (_db...) -->
|
277
290
|
<dynamicField name="*_dbi" type="double" stored="false" indexed="true" multiValued="false"/>
|
278
291
|
<dynamicField name="*_dbim" type="double" stored="false" indexed="true" multiValued="true"/>
|
@@ -280,15 +293,15 @@
|
|
280
293
|
<dynamicField name="*_dbsm" type="double" stored="true" indexed="false" multiValued="true"/>
|
281
294
|
<dynamicField name="*_dbsi" type="double" stored="true" indexed="true" multiValued="false"/>
|
282
295
|
<dynamicField name="*_dbsim" type="double" stored="true" indexed="true" multiValued="true"/>
|
283
|
-
|
284
|
-
<!--
|
296
|
+
|
297
|
+
<!-- DoublePointField (_dbt...) (for faster range queries) -->
|
285
298
|
<dynamicField name="*_dbti" type="tdouble" stored="false" indexed="true" multiValued="false"/>
|
286
299
|
<dynamicField name="*_dbtim" type="tdouble" stored="false" indexed="true" multiValued="true"/>
|
287
300
|
<dynamicField name="*_dbts" type="tdouble" stored="true" indexed="false" multiValued="false"/>
|
288
301
|
<dynamicField name="*_dbtsm" type="tdouble" stored="true" indexed="false" multiValued="true"/>
|
289
302
|
<dynamicField name="*_dbtsi" type="tdouble" stored="true" indexed="true" multiValued="false"/>
|
290
303
|
<dynamicField name="*_dbtsim" type="tdouble" stored="true" indexed="true" multiValued="true"/>
|
291
|
-
|
304
|
+
|
292
305
|
<!-- float (_f...) -->
|
293
306
|
<dynamicField name="*_fi" type="float" stored="false" indexed="true" multiValued="false"/>
|
294
307
|
<dynamicField name="*_fim" type="float" stored="false" indexed="true" multiValued="true"/>
|
@@ -296,20 +309,20 @@
|
|
296
309
|
<dynamicField name="*_fsm" type="float" stored="true" indexed="false" multiValued="true"/>
|
297
310
|
<dynamicField name="*_fsi" type="float" stored="true" indexed="true" multiValued="false"/>
|
298
311
|
<dynamicField name="*_fsim" type="float" stored="true" indexed="true" multiValued="true"/>
|
299
|
-
|
300
|
-
<!--
|
312
|
+
|
313
|
+
<!-- FloatPointField (_ft...) (for faster range queries) -->
|
301
314
|
<dynamicField name="*_fti" type="tfloat" stored="false" indexed="true" multiValued="false"/>
|
302
315
|
<dynamicField name="*_ftim" type="tfloat" stored="false" indexed="true" multiValued="true"/>
|
303
316
|
<dynamicField name="*_fts" type="tfloat" stored="true" indexed="false" multiValued="false"/>
|
304
317
|
<dynamicField name="*_ftsm" type="tfloat" stored="true" indexed="false" multiValued="true"/>
|
305
318
|
<dynamicField name="*_ftsi" type="tfloat" stored="true" indexed="true" multiValued="false"/>
|
306
319
|
<dynamicField name="*_ftsim" type="tfloat" stored="true" indexed="true" multiValued="true"/>
|
307
|
-
|
320
|
+
|
308
321
|
<!-- boolean (_b...) -->
|
309
322
|
<dynamicField name="*_bi" type="boolean" stored="false" indexed="true" multiValued="false"/>
|
310
323
|
<dynamicField name="*_bs" type="boolean" stored="true" indexed="false" multiValued="false"/>
|
311
324
|
<dynamicField name="*_bsi" type="boolean" stored="true" indexed="true" multiValued="false"/>
|
312
|
-
|
325
|
+
|
313
326
|
<!-- Type used to index the lat and lon components for the "location" FieldType -->
|
314
327
|
<dynamicField name="*_coordinate" type="tdouble" indexed="true" stored="false" />
|
315
328
|
|
@@ -329,7 +342,7 @@
|
|
329
342
|
|
330
343
|
</fields>
|
331
344
|
|
332
|
-
<!-- Field to use to determine and enforce document uniqueness.
|
345
|
+
<!-- Field to use to determine and enforce document uniqueness.
|
333
346
|
Unless this field is marked with required="false", it will be a required field
|
334
347
|
-->
|
335
348
|
<uniqueKey>id</uniqueKey>
|