active-fedora 6.0.0 → 6.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. data/.gitignore +1 -0
  2. data/History.txt +16 -0
  3. data/README.textile +12 -7
  4. data/active-fedora.gemspec +2 -2
  5. data/lib/active_fedora.rb +1 -0
  6. data/lib/active_fedora/associations/association_collection.rb +1 -1
  7. data/lib/active_fedora/associations/has_and_belongs_to_many_association.rb +12 -3
  8. data/lib/active_fedora/associations/has_many_association.rb +4 -0
  9. data/lib/active_fedora/attributes.rb +6 -0
  10. data/lib/active_fedora/auditable.rb +9 -0
  11. data/lib/active_fedora/base.rb +2 -0
  12. data/lib/active_fedora/delegating.rb +5 -3
  13. data/lib/active_fedora/indexing.rb +1 -1
  14. data/lib/active_fedora/nokogiri_datastream.rb +1 -2
  15. data/lib/active_fedora/querying.rb +1 -0
  16. data/lib/active_fedora/version.rb +1 -1
  17. data/lib/generators/active_fedora/config/solr/solr_generator.rb +1 -0
  18. data/lib/generators/active_fedora/config/solr/templates/jetty.yml +5 -0
  19. data/lib/generators/active_fedora/config/solr/templates/solr_conf/conf/schema.xml +1 -161
  20. data/lib/generators/active_fedora/config/solr/templates/solr_conf/conf/solrconfig.xml +16 -7
  21. data/lib/tasks/active_fedora_dev.rake +1 -1
  22. data/spec/fixtures/auditable.foxml.xml +110 -0
  23. data/spec/integration/base_spec.rb +7 -1
  24. data/spec/unit/auditable_spec.rb +31 -0
  25. data/spec/unit/base_delegate_spec.rb +74 -38
  26. data/spec/unit/base_spec.rb +6 -1
  27. data/spec/unit/has_and_belongs_to_many_collection_spec.rb +59 -0
  28. data/spec/unit/has_many_collection_spec.rb +26 -0
  29. metadata +96 -45
  30. checksums.yaml +0 -7
  31. data/solr/conf/schema.xml +0 -432
  32. data/solr/conf/solrconfig.xml +0 -158
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 70f6920a9aff7bb8c67d3b7ec95cb99a65f3bbfa
4
- data.tar.gz: b663fe7ccc9d441cfe77c07c0f9f81631506f3db
5
- SHA512:
6
- metadata.gz: 619cf1aa469250f7acd2d6a78df4acff3568ccb11f6c331bb3cfc48efc3a37345e02a87c15a8231d58defac30517c4b7b75f797261f3a1557f93f17482544cbc
7
- data.tar.gz: 6c2032a445780e7db72a71352d0d3725a8c9e034920d09ce6131c450904e3dea64de40f14bd66f71067657bf2475af09de2315210faafecf55aeb8ac067639b7
@@ -1,432 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <schema name="Hydra" version="1.5">
3
- <!-- NOTE: various comments and unused configuration possibilities have been purged
4
- from this file. Please refer to http://wiki.apache.org/solr/SchemaXml,
5
- as well as the default schema file included with Solr -->
6
-
7
- <uniqueKey>id</uniqueKey>
8
-
9
- <fields>
10
- <field name="id" type="string" stored="true" indexed="true" multiValued="false" required="true"/>
11
- <field name="timestamp" type="date" indexed="true" stored="true" default="NOW" multiValued="false"/>
12
-
13
- <field name="lat" type="tdouble" stored="true" indexed="true" multiValued="false"/>
14
- <field name="lng" type="tdouble" stored="true" indexed="true" multiValued="false"/>
15
-
16
- <!--these fields are hard coded in places in hydra-head -->
17
- <field name="active_fedora_model_s" type="string" stored="true" indexed="true"/>
18
- <field name="object_profile_display" type="string" stored="true" indexed="true"/>
19
- <field name="has_model_s" type="string" stored="true" indexed="true"/>
20
- <field name="is_governed_by_s" type="string" stored="true" indexed="true"/>
21
-
22
- <!--
23
- These are hard coded in places in hydra-head, but we hope to fix that.
24
-
25
- <field name="inheritable_discover_access_person_t" type="string" stored="true" indexed="true" multiValued="true"/>
26
- <field name="inheritable_read_access_person_t" type="string" stored="true" indexed="true" multiValued="true"/>
27
- <field name="inheritable_edit_access_person_t" type="string" stored="true" indexed="true" multiValued="true"/>
28
- <field name="inheritable_discover_access_group_t" type="string" stored="true" indexed="true" multiValued="true"/>
29
- <field name="inheritable_read_access_group_t" type="string" stored="true" indexed="true" multiValued="true"/>
30
- <field name="inheritable_edit_access_group_t" type="string" stored="true" indexed="true" multiValued="true"/>
31
- <field name="read_access_person_t" type="string" stored="true" indexed="true" multiValued="true"/>
32
- <field name="discover_access_person_t" type="string" stored="true" indexed="true" multiValued="true"/>
33
- <field name="edit_access_person_t" type="string" stored="true" indexed="true" multiValued="true"/>
34
- <field name="read_access_group_t" type="string" stored="true" indexed="true" multiValued="true"/>
35
- <field name="edit_access_group_t" type="string" stored="true" indexed="true" multiValued="true"/>
36
- <field name="discover_access_group_t" type="string" stored="true" indexed="true" multiValued="true"/>
37
- -->
38
-
39
- <!-- NOTE: not all possible Solr field types are represented in the dynamic fields -->
40
-
41
- <!-- text (_t...) -->
42
- <dynamicField name="*_ti" type="text" stored="false" indexed="true" multiValued="false"/>
43
- <dynamicField name="*_tim" type="text" stored="false" indexed="true" multiValued="true"/>
44
- <dynamicField name="*_ts" type="text" stored="true" indexed="false" multiValued="false"/>
45
- <dynamicField name="*_tsm" type="text" stored="true" indexed="false" multiValued="true"/>
46
- <dynamicField name="*_tsi" type="text" stored="true" indexed="true" multiValued="false"/>
47
- <dynamicField name="*_tsim" type="text" stored="true" indexed="true" multiValued="true"/>
48
- <dynamicField name="*_tiv" type="text" stored="false" indexed="true" multiValued="false" termVectors="true" termPositions="true" termOffsets="true"/>
49
- <dynamicField name="*_timv" type="text" stored="false" indexed="true" multiValued="true" termVectors="true" termPositions="true" termOffsets="true"/>
50
- <dynamicField name="*_tsiv" type="text" stored="true" indexed="true" multiValued="false" termVectors="true" termPositions="true" termOffsets="true"/>
51
- <dynamicField name="*_tsimv" type="text" stored="true" indexed="true" multiValued="true" termVectors="true" termPositions="true" termOffsets="true"/>
52
-
53
- <!-- English text (_te...) -->
54
- <dynamicField name="*_tei" type="text_en" stored="false" indexed="true" multiValued="false"/>
55
- <dynamicField name="*_teim" type="text_en" stored="false" indexed="true" multiValued="true"/>
56
- <dynamicField name="*_tes" type="text_en" stored="true" indexed="false" multiValued="false"/>
57
- <dynamicField name="*_tesm" type="text_en" stored="true" indexed="false" multiValued="true"/>
58
- <dynamicField name="*_tesi" type="text_en" stored="true" indexed="true" multiValued="false"/>
59
- <dynamicField name="*_tesim" type="text_en" stored="true" indexed="true" multiValued="true"/>
60
- <dynamicField name="*_teiv" type="text_en" stored="false" indexed="true" multiValued="false" termVectors="true" termPositions="true" termOffsets="true"/>
61
- <dynamicField name="*_teimv" type="text_en" stored="false" indexed="true" multiValued="true" termVectors="true" termPositions="true" termOffsets="true"/>
62
- <dynamicField name="*_tesiv" type="text_en" stored="true" indexed="true" multiValued="false" termVectors="true" termPositions="true" termOffsets="true"/>
63
- <dynamicField name="*_tesimv" type="text_en" stored="true" indexed="true" multiValued="true" termVectors="true" termPositions="true" termOffsets="true"/>
64
-
65
- <!-- string (_s...) -->
66
- <dynamicField name="*_si" type="string" stored="false" indexed="true" multiValued="false"/>
67
- <dynamicField name="*_sim" type="string" stored="false" indexed="true" multiValued="true"/>
68
- <dynamicField name="*_ss" type="string" stored="true" indexed="false" multiValued="false"/>
69
- <dynamicField name="*_ssm" type="string" stored="true" indexed="false" multiValued="true"/>
70
- <dynamicField name="*_ssi" type="string" stored="true" indexed="true" multiValued="false"/>
71
- <dynamicField name="*_ssim" type="string" stored="true" indexed="true" multiValued="true"/>
72
- <dynamicField name="*_ssort" type="alphaSort" stored="false" indexed="true" multiValued="false"/>
73
-
74
- <!-- integer (_i...) -->
75
- <dynamicField name="*_ii" type="int" stored="false" indexed="true" multiValued="false"/>
76
- <dynamicField name="*_iim" type="int" stored="false" indexed="true" multiValued="true"/>
77
- <dynamicField name="*_is" type="int" stored="true" indexed="false" multiValued="false"/>
78
- <dynamicField name="*_ism" type="int" stored="true" indexed="false" multiValued="true"/>
79
- <dynamicField name="*_isi" type="int" stored="true" indexed="true" multiValued="false"/>
80
- <dynamicField name="*_isim" type="int" stored="true" indexed="true" multiValued="true"/>
81
-
82
- <!-- trie integer (_it...) (for faster range queries) -->
83
- <dynamicField name="*_iti" type="tint" stored="false" indexed="true" multiValued="false"/>
84
- <dynamicField name="*_itim" type="tint" stored="false" indexed="true" multiValued="true"/>
85
- <dynamicField name="*_its" type="tint" stored="true" indexed="false" multiValued="false"/>
86
- <dynamicField name="*_itsm" type="tint" stored="true" indexed="false" multiValued="true"/>
87
- <dynamicField name="*_itsi" type="tint" stored="true" indexed="true" multiValued="false"/>
88
- <dynamicField name="*_itsim" type="tint" stored="true" indexed="true" multiValued="true"/>
89
-
90
- <!-- date (_dt...) -->
91
- <!-- The format for this date field is of the form 1995-12-31T23:59:59Z
92
- Optional fractional seconds are allowed: 1995-12-31T23:59:59.999Z -->
93
- <dynamicField name="*_dti" type="date" stored="false" indexed="true" multiValued="false"/>
94
- <dynamicField name="*_dtim" type="date" stored="false" indexed="true" multiValued="true"/>
95
- <dynamicField name="*_dts" type="date" stored="true" indexed="false" multiValued="false"/>
96
- <dynamicField name="*_dtsm" type="date" stored="true" indexed="false" multiValued="true"/>
97
- <dynamicField name="*_dtsi" type="date" stored="true" indexed="true" multiValued="false"/>
98
- <dynamicField name="*_dtsim" type="date" stored="true" indexed="true" multiValued="true"/>
99
-
100
- <!-- trie date (_dtt...) (for faster range queries) -->
101
- <dynamicField name="*_dtti" type="tdate" stored="false" indexed="true" multiValued="false"/>
102
- <dynamicField name="*_dttim" type="tdate" stored="false" indexed="true" multiValued="true"/>
103
- <dynamicField name="*_dtts" type="tdate" stored="true" indexed="false" multiValued="false"/>
104
- <dynamicField name="*_dttsm" type="tdate" stored="true" indexed="false" multiValued="true"/>
105
- <dynamicField name="*_dttsi" type="tdate" stored="true" indexed="true" multiValued="false"/>
106
- <dynamicField name="*_dttsim" type="tdate" stored="true" indexed="true" multiValued="true"/>
107
-
108
- <!-- long (_l...) -->
109
- <dynamicField name="*_li" type="long" stored="false" indexed="true" multiValued="false"/>
110
- <dynamicField name="*_lim" type="long" stored="false" indexed="true" multiValued="true"/>
111
- <dynamicField name="*_ls" type="long" stored="true" indexed="false" multiValued="false"/>
112
- <dynamicField name="*_lsm" type="long" stored="true" indexed="false" multiValued="true"/>
113
- <dynamicField name="*_lsi" type="long" stored="true" indexed="true" multiValued="false"/>
114
- <dynamicField name="*_lsim" type="long" stored="true" indexed="true" multiValued="true"/>
115
-
116
- <!-- trie long (_lt...) (for faster range queries) -->
117
- <dynamicField name="*_lti" type="tlong" stored="false" indexed="true" multiValued="false"/>
118
- <dynamicField name="*_ltim" type="tlong" stored="false" indexed="true" multiValued="true"/>
119
- <dynamicField name="*_lts" type="tlong" stored="true" indexed="false" multiValued="false"/>
120
- <dynamicField name="*_ltsm" type="tlong" stored="true" indexed="false" multiValued="true"/>
121
- <dynamicField name="*_ltsi" type="tlong" stored="true" indexed="true" multiValued="false"/>
122
- <dynamicField name="*_ltsim" type="tlong" stored="true" indexed="true" multiValued="true"/>
123
-
124
- <!-- double (_db...) -->
125
- <dynamicField name="*_dbi" type="double" stored="false" indexed="true" multiValued="false"/>
126
- <dynamicField name="*_dbim" type="double" stored="false" indexed="true" multiValued="true"/>
127
- <dynamicField name="*_dbs" type="double" stored="true" indexed="false" multiValued="false"/>
128
- <dynamicField name="*_dbsm" type="double" stored="true" indexed="false" multiValued="true"/>
129
- <dynamicField name="*_dbsi" type="double" stored="true" indexed="true" multiValued="false"/>
130
- <dynamicField name="*_dbsim" type="double" stored="true" indexed="true" multiValued="true"/>
131
-
132
- <!-- trie double (_dbt...) (for faster range queries) -->
133
- <dynamicField name="*_dbti" type="tdouble" stored="false" indexed="true" multiValued="false"/>
134
- <dynamicField name="*_dbtim" type="tdouble" stored="false" indexed="true" multiValued="true"/>
135
- <dynamicField name="*_dbts" type="tdouble" stored="true" indexed="false" multiValued="false"/>
136
- <dynamicField name="*_dbtsm" type="tdouble" stored="true" indexed="false" multiValued="true"/>
137
- <dynamicField name="*_dbtsi" type="tdouble" stored="true" indexed="true" multiValued="false"/>
138
- <dynamicField name="*_dbtsim" type="tdouble" stored="true" indexed="true" multiValued="true"/>
139
-
140
- <!-- float (_f...) -->
141
- <dynamicField name="*_fi" type="float" stored="false" indexed="true" multiValued="false"/>
142
- <dynamicField name="*_fim" type="float" stored="false" indexed="true" multiValued="true"/>
143
- <dynamicField name="*_fs" type="float" stored="true" indexed="false" multiValued="false"/>
144
- <dynamicField name="*_fsm" type="float" stored="true" indexed="false" multiValued="true"/>
145
- <dynamicField name="*_fsi" type="float" stored="true" indexed="true" multiValued="false"/>
146
- <dynamicField name="*_fsim" type="float" stored="true" indexed="true" multiValued="true"/>
147
-
148
- <!-- trie float (_ft...) (for faster range queries) -->
149
- <dynamicField name="*_fti" type="tfloat" stored="false" indexed="true" multiValued="false"/>
150
- <dynamicField name="*_ftim" type="tfloat" stored="false" indexed="true" multiValued="true"/>
151
- <dynamicField name="*_fts" type="tfloat" stored="true" indexed="false" multiValued="false"/>
152
- <dynamicField name="*_ftsm" type="tfloat" stored="true" indexed="false" multiValued="true"/>
153
- <dynamicField name="*_ftsi" type="tfloat" stored="true" indexed="true" multiValued="false"/>
154
- <dynamicField name="*_ftsim" type="tfloat" stored="true" indexed="true" multiValued="true"/>
155
-
156
- <!-- boolean (_b...) -->
157
- <dynamicField name="*_bi" type="boolean" stored="false" indexed="true" multiValued="false"/>
158
- <dynamicField name="*_bs" type="boolean" stored="true" indexed="false" multiValued="false"/>
159
- <dynamicField name="*_bsi" type="boolean" stored="true" indexed="true" multiValued="false"/>
160
-
161
- <!-- Type used to index the lat and lon components for the "location" FieldType -->
162
- <dynamicField name="*_coordinate" type="tdouble" indexed="true" stored="false" />
163
-
164
- <!-- location (_ll...) -->
165
- <dynamicField name="*_lli" type="location" stored="false" indexed="true" multiValued="false"/>
166
- <dynamicField name="*_llim" type="location" stored="false" indexed="true" multiValued="true"/>
167
- <dynamicField name="*_lls" type="location" stored="true" indexed="false" multiValued="false"/>
168
- <dynamicField name="*_llsm" type="location" stored="true" indexed="false" multiValued="true"/>
169
- <dynamicField name="*_llsi" type="location" stored="true" indexed="true" multiValued="false"/>
170
- <dynamicField name="*_llsim" type="location" stored="true" indexed="true" multiValued="true"/>
171
-
172
- <!-- you must define copyField source and dest fields explicity or schemaBrowser doesn't work -->
173
- <field name="all_text_timv" type="text" stored="false" indexed="true" multiValued="true" termVectors="true" termPositions="true" termOffsets="true"/>
174
-
175
- <!-- deprecated fields from pre-Solr 4.0 pre-hydra 5.0 -->
176
- <!--
177
- <field name="marc_display" type="string" indexed="false" stored="true" multiValued="false"/>
178
- <field name="title_display" type="string" indexed="false" stored="true" multiValued="false"/>
179
- <field name="title_vern_display" type="string" indexed="false" stored="true" multiValued="false"/>
180
- <field name="subtitle_display" type="string" indexed="false" stored="true" multiValued="false"/>
181
- <field name="subtitle_vern_display" type="string" indexed="false" stored="true" multiValued="false"/>
182
- <field name="author_display" type="string" indexed="false" stored="true" multiValued="false"/>
183
- <field name="author_vern_display" type="string" indexed="false" stored="true" multiValued="false"/>
184
- -->
185
- <!-- these fields are also used for display, so they must be stored -->
186
- <!--
187
- <field name="isbn_t" type="text" indexed="true" stored="true" multiValued="true"/>
188
- <field name="language_facet" type="string" indexed="true" stored="true" multiValued="true" />
189
- <field name="subject_topic_facet" type="string" indexed="true" stored="true" multiValued="true" />
190
- <field name="subject_era_facet" type="string" indexed="true" stored="true" multiValued="true" />
191
- <field name="subject_geo_facet" type="string" indexed="true" stored="true" multiValued="true" />
192
- -->
193
- <!-- pub_date is used for facet and display so it must be indexed and stored -->
194
- <!--
195
- <field name="pub_date" type="string" indexed="true" stored="true" multiValued="true"/>
196
- -->
197
- <!-- pub_date sort uses new trie-based int fields, which are recommended for any int and are displayable, sortable, and range-quer
198
- we use 'tint' for faster range-queries. -->
199
- <!--
200
- <field name="pub_date_sort" type="tint" indexed="true" stored="true" multiValued="false"/>
201
- -->
202
- <!-- format is used for facet, display, and choosing which partial to use for the show view, so it must be stored and indexed -->
203
- <!--
204
- <field name="format" type="string" indexed="true" stored="true"/>
205
-
206
- <dynamicField name="*_i" type="int" indexed="true" stored="true"/>
207
- <dynamicField name="*_s" type="string" indexed="true" stored="true" multiValued="true"/>
208
- <dynamicField name="*_l" type="long" indexed="true" stored="true"/>
209
- <dynamicField name="*_t" type="text" indexed="true" stored="true" multiValued="true"/>
210
- <dynamicField name="*_txt" type="text_general" indexed="true" stored="true" multiValued="true"/>
211
- <dynamicField name="*_b" type="boolean" indexed="true" stored="true"/>
212
- <dynamicField name="*_f" type="float" indexed="true" stored="true"/>
213
- <dynamicField name="*_d" type="double" indexed="true" stored="true"/>
214
-
215
- <dynamicField name="ignored_*" type="ignored" multiValued="true"/>
216
- <dynamicField name="attr_*" type="text_general" indexed="true" stored="true" multiValued="true"/>
217
-
218
- <dynamicField name="random_*" type="random" />
219
-
220
- <dynamicField name="*_display" type="string" indexed="false" stored="true" multiValued="true" />
221
- <dynamicField name="*_facet" type="string" indexed="true" stored="true" multiValued="true" />
222
- <dynamicField name="*_sort" type="string" indexed="true" stored="false" multiValued="false" />
223
- <dynamicField name="*_unstem_search" type="text_general" indexed="true" stored="false" multiValued="true" />
224
- <dynamicField name="*spell" type="textSpell" indexed="true" stored="false" multiValued="true" />
225
- -->
226
- <!-- uncomment the following to ignore any fields that don't already match an existing
227
- field name or dynamic field, rather than reporting them as an error.
228
- alternately, change the type="ignored" to some other type e.g. "text" if you want
229
- unknown fields indexed and/or stored by default -->
230
- <!--dynamicField name="*" type="ignored" multiValued="true" /-->
231
-
232
- <!-- END hydra deprecated items -->
233
-
234
- </fields>
235
-
236
- <!-- START hydra deprecated items -->
237
- <!--
238
- <defaultSearchField>text</defaultSearchField>
239
- -->
240
- <!-- SolrQueryParser configuration: defaultOperator="AND|OR" -->
241
- <!--
242
- <solrQueryParser defaultOperator="AND"/>
243
-
244
- <copyField source="title_t" dest="title_unstem_search"/>
245
- <copyField source="subtitle_t" dest="subtitle_unstem_search"/>
246
- <copyField source="title_addl_t" dest="title_addl_unstem_search"/>
247
- <copyField source="title_added_entry_t" dest="title_added_entry_unstem_search"/>
248
- <copyField source="title_series_t" dest="title_series_unstem_search"/>
249
- <copyField source="author_t" dest="author_unstem_search"/>
250
- <copyField source="author_addl_t" dest="author_addl_unstem_search"/>
251
- <copyField source="subject_t" dest="subject_unstem_search"/>
252
- <copyField source="subject_addl_t" dest="subject_addl_unstem_search"/>
253
- <copyField source="subject_topic_facet" dest="subject_topic_unstem_search"/>
254
- -->
255
- <!-- sort fields -->
256
- <!--
257
- <copyField source="pub_date" dest="pub_date_sort"/>
258
- -->
259
-
260
- <!-- spellcheck fields -->
261
- <!-- default spell check; should match fields for default request handler -->
262
- <!-- it won't work with a copy of a copy field -->
263
- <!--
264
- <copyField source="*_t" dest="spell"/>
265
- <copyField source="*_facet" dest="spell"/>
266
- -->
267
- <!-- title spell check; should match fields for title request handler -->
268
- <!--
269
- <copyField source="title_t" dest="title_spell"/>
270
- <copyField source="subtitle_t" dest="title_spell"/>
271
- <copyField source="addl_titles_t" dest="title_spell"/>
272
- <copyField source="title_added_entry_t" dest="title_spell"/>
273
- <copyField source="title_series_t" dest="title_spell"/>
274
- -->
275
- <!-- author spell check; should match fields for author request handler -->
276
- <!--
277
- <copyField source="author_t" dest="author_spell"/>
278
- <copyField source="author_addl_t" dest="author_spell"/>
279
- -->
280
- <!-- subject spell check; should match fields for subject request handler -->
281
- <!--
282
- <copyField source="subject_topic_facet" dest="subject_spell"/>
283
- <copyField source="subject_t" dest="subject_spell"/>
284
- <copyField source="subject_addl_t" dest="subject_spell"/>
285
- -->
286
-
287
- <!-- OpenSearch query field should match request handler search fields -->
288
- <!--
289
- <copyField source="title_t" dest="opensearch_display"/>
290
- <copyField source="subtitle_t" dest="opensearch_display"/>
291
- <copyField source="addl_titles_t" dest="opensearch_display"/>
292
- <copyField source="title_added_entry_t" dest="opensearch_display"/>
293
- <copyField source="title_series_t" dest="opensearch_display"/>
294
- <copyField source="author_t" dest="opensearch_display"/>
295
- <copyField source="author_addl_t" dest="opensearch_display"/>
296
- <copyField source="subject_topic_facet" dest="opensearch_display"/>
297
- <copyField source="subject_t" dest="opensearch_display"/>
298
- <copyField source="subject_addl_t" dest="opensearch_display"/>
299
- -->
300
-
301
- <!-- Above, multiple source fields are copied to the [text] field.
302
- Another way to map multiple source fields to the same
303
- destination field is to use the dynamic field syntax.
304
- copyField also supports a maxChars to copy setting. -->
305
-
306
- <!-- <copyField source="*_t" dest="text" maxChars="3000"/> -->
307
- <!--
308
- <copyField source="*_s" dest="text"/>
309
- <copyField source="*_t" dest="text"/>
310
- <copyField source="*_facet" dest="text"/>
311
- -->
312
- <!-- copy name to alphaNameSort, a field designed for sorting by name -->
313
- <!-- <copyField source="name" dest="alphaNameSort"/> -->
314
-
315
- <!-- END hydra deprecated items -->
316
-
317
- <!-- copy fields; note that you must define copyField source and dest fields explicity or schemaBrowser doesn't work -->
318
- <!--
319
- <copyField source="some_field" dest="all_text_timv" />
320
- -->
321
-
322
- <types>
323
- <fieldType name="string" class="solr.StrField" sortMissingLast="true" />
324
- <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/>
325
- <fieldType name="rand" class="solr.RandomSortField" omitNorms="true"/>
326
-
327
- <!-- Default numeric field types. -->
328
- <fieldType name="int" class="solr.TrieIntField" precisionStep="0" positionIncrementGap="0"/>
329
- <fieldType name="float" class="solr.TrieFloatField" precisionStep="0" positionIncrementGap="0"/>
330
- <fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>
331
- <fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" positionIncrementGap="0"/>
332
-
333
- <!-- trie numeric field types for faster range queries -->
334
- <fieldType name="tint" class="solr.TrieIntField" precisionStep="8" positionIncrementGap="0"/>
335
- <fieldType name="tfloat" class="solr.TrieFloatField" precisionStep="8" positionIncrementGap="0"/>
336
- <fieldType name="tlong" class="solr.TrieLongField" precisionStep="8" positionIncrementGap="0"/>
337
- <fieldType name="tdouble" class="solr.TrieDoubleField" precisionStep="8" positionIncrementGap="0"/>
338
-
339
- <!-- The format for this date field is of the form 1995-12-31T23:59:59Z
340
- Optional fractional seconds are allowed: 1995-12-31T23:59:59.999Z
341
- -->
342
- <fieldType name="date" class="solr.TrieDateField" precisionStep="0" positionIncrementGap="0"/>
343
- <!-- A Trie based date field for faster date range queries and date faceting. -->
344
- <fieldType name="tdate" class="solr.TrieDateField" precisionStep="6" positionIncrementGap="0"/>
345
-
346
-
347
- <!-- This point type indexes the coordinates as separate fields (subFields)
348
- If subFieldType is defined, it references a type, and a dynamic field
349
- definition is created matching *___<typename>. Alternately, if
350
- subFieldSuffix is defined, that is used to create the subFields.
351
- Example: if subFieldType="double", then the coordinates would be
352
- indexed in fields myloc_0___double,myloc_1___double.
353
- Example: if subFieldSuffix="_d" then the coordinates would be indexed
354
- in fields myloc_0_d,myloc_1_d
355
- The subFields are an implementation detail of the fieldType, and end
356
- users normally should not need to know about them.
357
- -->
358
- <fieldType name="point" class="solr.PointType" dimension="2" subFieldSuffix="_d"/>
359
-
360
- <!-- A specialized field for geospatial search. If indexed, this fieldType must not be multivalued. -->
361
- <fieldType name="location" class="solr.LatLonType" subFieldSuffix="_coordinate"/>
362
-
363
- <!-- An alternative geospatial field type new to Solr 4. It supports multiValued and polygon shapes.
364
- For more information about this and other Spatial fields new to Solr 4, see:
365
- http://wiki.apache.org/solr/SolrAdaptersForLuceneSpatial4
366
- -->
367
- <fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType"
368
- geo="true" distErrPct="0.025" maxDistErr="0.000009" units="degrees" />
369
-
370
- <fieldType name="text" class="solr.TextField" omitNorms="false">
371
- <analyzer>
372
- <tokenizer class="solr.ICUTokenizerFactory"/>
373
- <filter class="solr.ICUFoldingFilterFactory"/> <!-- NFKC, case folding, diacritics removed -->
374
- <filter class="solr.TrimFilterFactory"/>
375
- </analyzer>
376
- </fieldType>
377
-
378
- <!-- A text field that only splits on whitespace for exact matching of words -->
379
- <fieldType name="text_ws" class="solr.TextField" positionIncrementGap="100">
380
- <analyzer>
381
- <tokenizer class="solr.WhitespaceTokenizerFactory"/>
382
- <filter class="solr.TrimFilterFactory"/>
383
- </analyzer>
384
- </fieldType>
385
-
386
- <!-- single token analyzed text, for sorting. Punctuation is significant. -->
387
- <fieldtype name="alphaSort" class="solr.TextField" sortMissingLast="true" omitNorms="true">
388
- <analyzer>
389
- <tokenizer class="solr.KeywordTokenizerFactory" />
390
- <filter class="solr.ICUFoldingFilterFactory"/>
391
- <filter class="solr.TrimFilterFactory" />
392
- </analyzer>
393
- </fieldtype>
394
-
395
- <!-- A text field with defaults appropriate for English -->
396
- <fieldType name="text_en" class="solr.TextField" positionIncrementGap="100">
397
- <analyzer>
398
- <tokenizer class="solr.ICUTokenizerFactory"/>
399
- <filter class="solr.ICUFoldingFilterFactory"/> <!-- NFKC, case folding, diacritics removed -->
400
- <filter class="solr.EnglishPossessiveFilterFactory"/>
401
- <!-- EnglishMinimalStemFilterFactory is less aggressive than PorterStemFilterFactory: -->
402
- <filter class="solr.EnglishMinimalStemFilterFactory"/>
403
- <!--
404
- <filter class="solr.PorterStemFilterFactory"/>
405
- -->
406
- <filter class="solr.TrimFilterFactory"/>
407
- </analyzer>
408
- </fieldType>
409
-
410
- <!-- queries for paths match documents at that path, or in descendent paths -->
411
- <fieldType name="descendent_path" class="solr.TextField">
412
- <analyzer type="index">
413
- <tokenizer class="solr.PathHierarchyTokenizerFactory" delimiter="/" />
414
- </analyzer>
415
- <analyzer type="query">
416
- <tokenizer class="solr.KeywordTokenizerFactory" />
417
- </analyzer>
418
- </fieldType>
419
-
420
- <!-- queries for paths match documents at that path, or in ancestor paths -->
421
- <fieldType name="ancestor_path" class="solr.TextField">
422
- <analyzer type="index">
423
- <tokenizer class="solr.KeywordTokenizerFactory" />
424
- </analyzer>
425
- <analyzer type="query">
426
- <tokenizer class="solr.PathHierarchyTokenizerFactory" delimiter="/" />
427
- </analyzer>
428
- </fieldType>
429
-
430
- </types>
431
-
432
- </schema>
@@ -1,158 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" ?>
2
- <config>
3
- <!-- NOTE: various comments and unused configuration possibilities have been purged
4
- from this file. Please refer to http://wiki.apache.org/solr/SolrConfigXml,
5
- as well as the default solrconfig file included with Solr -->
6
-
7
- <abortOnConfigurationError>${solr.abortOnConfigurationError:true}</abortOnConfigurationError>
8
-
9
- <luceneMatchVersion>LUCENE_40</luceneMatchVersion>
10
-
11
- <directoryFactory name="DirectoryFactory" class="${solr.directoryFactory:solr.StandardDirectoryFactory}"/>
12
-
13
- <!-- solr lib dirs -->
14
- <lib dir="../lib/contrib/analysis-extras/lib" />
15
- <lib dir="../lib/contrib/analysis-extras/lucene-libs" />
16
-
17
- <dataDir>${solr.data.dir:}</dataDir>
18
-
19
- <requestHandler name="search" class="solr.SearchHandler" default="true">
20
- <!-- default values for query parameters can be specified, these
21
- will be overridden by parameters in the request
22
- -->
23
- <lst name="defaults">
24
- <str name="defType">edismax</str>
25
- <str name="echoParams">explicit</str>
26
- <str name="q.alt">*:*</str>
27
- <str name="mm">2&lt;-1 5&lt;-2 6&lt;90%</str>
28
- <int name="qs">1</int>
29
- <int name="ps">2</int>
30
- <float name="tie">0.01</float>
31
- <!-- this qf and pf are used by default, if not otherwise specified by
32
- client. The default blacklight_config will use these for the
33
- "keywords" search. See the author_qf/author_pf, title_qf, etc
34
- below, which the default blacklight_config will specify for
35
- those searches. You may also be interested in:
36
- http://wiki.apache.org/solr/LocalParams
37
- -->
38
- <str name="qf">
39
- id
40
- all_text_timv
41
- active_fedora_model_ssi
42
- object_type_si
43
- </str>
44
- <str name="pf">
45
- all_text_timv^10
46
- </str>
47
-
48
- <str name="author_qf">
49
- </str>
50
- <str name="author_pf">
51
- </str>
52
- <str name="title_qf">
53
- </str>
54
- <str name="title_pf">
55
- </str>
56
- <str name="subject_qf">
57
- </str>
58
- <str name="subject_pf">
59
- </str>
60
-
61
- <str name="fl">
62
- *,
63
- score
64
- </str>
65
-
66
- <str name="facet">true</str>
67
- <str name="facet.mincount">1</str>
68
- <str name="facet.limit">10</str>
69
- <str name="facet.field">active_fedora_model_ssi</str>
70
- <str name="facet.field">object_type_si</str>
71
-
72
- <str name="spellcheck">true</str>
73
- <str name="spellcheck.dictionary">default</str>
74
- <str name="spellcheck.onlyMorePopular">true</str>
75
- <str name="spellcheck.extendedResults">true</str>
76
- <str name="spellcheck.collate">false</str>
77
- <str name="spellcheck.count">5</str>
78
-
79
- </lst>
80
- <arr name="last-components">
81
- <str>spellcheck</str>
82
- </arr>
83
- </requestHandler>
84
-
85
- <requestHandler name="permissions" class="solr.SearchHandler" >
86
- <lst name="defaults">
87
- <str name="facet">off</str>
88
- <str name="echoParams">all</str>
89
- <str name="rows">1</str>
90
- <str name="q">{!raw f=id v=$id}</str> <!-- use id=666 instead of q=id:666 -->
91
- <str name="fl">
92
- id,
93
- access_tim,
94
- discover_access_group_tim,discover_access_person_tim,
95
- read_access_group_tim,read_access_person_tim,
96
- edit_access_group_tim,edit_access_person_tim,
97
- depositor_ti,
98
- embargo_release_date_dtsi
99
- </str>
100
- </lst>
101
- </requestHandler>
102
-
103
- <requestHandler name="standard" class="solr.SearchHandler">
104
- <lst name="defaults">
105
- <str name="echoParams">explicit</str>
106
- <str name="defType">lucene</str>
107
- </lst>
108
- </requestHandler>
109
-
110
- <!-- for requests to get a single document; use id=666 instead of q=id:666 -->
111
- <requestHandler name="document" class="solr.SearchHandler" >
112
- <lst name="defaults">
113
- <str name="echoParams">all</str>
114
- <str name="fl">*</str>
115
- <str name="rows">1</str>
116
- <str name="q">{!raw f=id v=$id}</str> <!-- use id=666 instead of q=id:666 -->
117
- </lst>
118
- </requestHandler>
119
-
120
-
121
- <searchComponent name="spellcheck" class="solr.SpellCheckComponent">
122
- <str name="queryAnalyzerFieldType">textSpell</str>
123
- <!-- Multiple "Spell Checkers" can be declared and used by this component
124
- (e.g. for title_spell field)
125
- -->
126
- <lst name="spellchecker">
127
- <str name="name">default</str>
128
- <str name="field">spell</str>
129
- <str name="spellcheckIndexDir">./spell</str>
130
- <str name="buildOnOptimize">true</str>
131
- </lst>
132
- </searchComponent>
133
-
134
- <requestHandler name="/replication" class="solr.ReplicationHandler" startup="lazy" />
135
-
136
- <requestDispatcher handleSelect="true" >
137
- <requestParsers enableRemoteStreaming="true" multipartUploadLimitInKB="2048" />
138
- </requestDispatcher>
139
-
140
- <requestHandler name="/analysis/field" startup="lazy" class="solr.FieldAnalysisRequestHandler" />
141
- <requestHandler name="/update" class="solr.UpdateRequestHandler" />
142
- <requestHandler name="/admin/" class="org.apache.solr.handler.admin.AdminHandlers" />
143
-
144
- <requestHandler name="/admin/ping" class="solr.PingRequestHandler">
145
- <lst name="invariants">
146
- <str name="q">solrpingquery</str>
147
- </lst>
148
- <lst name="defaults">
149
- <str name="echoParams">all</str>
150
- </lst>
151
- </requestHandler>
152
-
153
- <!-- config for the admin interface -->
154
- <admin>
155
- <defaultQuery>search</defaultQuery>
156
- </admin>
157
-
158
- </config>