blacklight 3.0pre1 → 3.0pre2

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.
Files changed (114) hide show
  1. data/.gitmodules +0 -6
  2. data/README.rdoc +94 -87
  3. data/blacklight.gemspec +1 -1
  4. data/config/routes.rb +1 -1
  5. data/lib/blacklight.rb +2 -2
  6. data/lib/blacklight/catalog.rb +10 -12
  7. data/lib/blacklight/controller.rb +2 -2
  8. data/lib/blacklight/engine.rb +5 -2
  9. data/lib/blacklight/solr/document.rb +1 -1
  10. data/lib/blacklight/solr/document/marc.rb +1 -16
  11. data/lib/blacklight/solr_helper.rb +43 -14
  12. data/lib/blacklight/version.rb +1 -1
  13. data/lib/generators/blacklight/assets_generator.rb +25 -0
  14. data/lib/generators/blacklight/blacklight_generator.rb +16 -1
  15. data/lib/generators/blacklight/jetty_generator.rb +101 -0
  16. data/lib/generators/blacklight/solr_conf_generator.rb +25 -0
  17. data/lib/generators/blacklight/templates/catalog_controller.rb +0 -1
  18. data/lib/generators/blacklight/templates/config/solr.yml +14 -2
  19. data/lib/generators/blacklight/templates/public/images/{blacklight/bg.png → bg.png} +0 -0
  20. data/lib/generators/blacklight/templates/public/images/{blacklight/border.png → border.png} +0 -0
  21. data/lib/generators/blacklight/templates/public/images/{blacklight/bul_sq_gry.gif → bul_sq_gry.gif} +0 -0
  22. data/lib/generators/blacklight/templates/public/images/{blacklight/checkmark.gif → checkmark.gif} +0 -0
  23. data/lib/generators/blacklight/templates/public/images/{blacklight/logo.png → logo.png} +0 -0
  24. data/lib/generators/blacklight/templates/public/images/{blacklight/magnifying_glass.gif → magnifying_glass.gif} +0 -0
  25. data/lib/generators/blacklight/templates/public/images/{blacklight/remove.gif → remove.gif} +0 -0
  26. data/lib/generators/blacklight/templates/public/images/{blacklight/separator.gif → separator.gif} +0 -0
  27. data/lib/generators/blacklight/templates/public/images/{blacklight/start_over.gif → start_over.gif} +0 -0
  28. data/lib/generators/blacklight/templates/public/javascripts/blacklight.js +5 -0
  29. data/lib/generators/blacklight/templates/public/stylesheets/blacklight.css +9 -3
  30. data/lib/generators/blacklight/templates/solr_conf/schema.xml +339 -0
  31. data/lib/generators/blacklight/templates/solr_conf/solrconfig.xml +578 -0
  32. data/lib/railties/all_tests.rake +11 -0
  33. data/lib/railties/blacklight.rake +0 -52
  34. data/lib/railties/blacklight_cucumber.rake +125 -0
  35. data/lib/railties/blacklight_rspec.rake +128 -0
  36. data/lib/railties/{test_solr_server.rb → jetty_solr_server.rb} +22 -45
  37. data/lib/railties/solr_marc.rake +24 -5
  38. data/test_support/.rspec +1 -0
  39. data/test_support/data/test_data.utf8.mrc +1 -0
  40. data/test_support/features/bookmarks.feature +88 -0
  41. data/test_support/features/did_you_mean.feature +129 -0
  42. data/test_support/features/folder.feature +67 -0
  43. data/test_support/features/librarian_view.feature +17 -0
  44. data/test_support/features/record_view.feature +34 -0
  45. data/test_support/features/saved_searches.feature +49 -0
  46. data/test_support/features/search.feature +86 -0
  47. data/test_support/features/search_filters.feature +121 -0
  48. data/test_support/features/search_history.feature +95 -0
  49. data/test_support/features/search_results.feature +61 -0
  50. data/test_support/features/search_sort.feature +29 -0
  51. data/test_support/features/step_definitions/bookmarks_steps.rb +5 -0
  52. data/test_support/features/step_definitions/error_steps.rb +4 -0
  53. data/test_support/features/step_definitions/folder_steps.rb +26 -0
  54. data/test_support/features/step_definitions/general_steps.rb +49 -0
  55. data/test_support/features/step_definitions/record_view_steps.rb +11 -0
  56. data/test_support/features/step_definitions/saved_searches_steps.rb +21 -0
  57. data/test_support/features/step_definitions/search_facets_steps.rb +28 -0
  58. data/test_support/features/step_definitions/search_history_steps.rb +8 -0
  59. data/test_support/features/step_definitions/search_result_steps.rb +113 -0
  60. data/test_support/features/step_definitions/search_steps.rb +102 -0
  61. data/test_support/features/step_definitions/user_steps.rb +4 -0
  62. data/test_support/features/step_definitions/web_steps.rb +211 -0
  63. data/test_support/features/support/env.rb +49 -0
  64. data/test_support/features/support/paths.rb +55 -0
  65. data/test_support/features/support/selectors.rb +39 -0
  66. data/test_support/features/unapi.feature +30 -0
  67. data/test_support/spec/controllers/application_controller_spec.rb +22 -0
  68. data/test_support/spec/controllers/catalog_controller_spec.rb +480 -0
  69. data/test_support/spec/controllers/folder_controller_spec.rb +40 -0
  70. data/test_support/spec/controllers/search_history_controller_spec.rb +45 -0
  71. data/test_support/spec/data/sample_docs.yml +655 -0
  72. data/test_support/spec/data/test_data.utf8.mrc +1 -0
  73. data/test_support/spec/helpers/blacklight_helper_spec.rb +482 -0
  74. data/test_support/spec/helpers/hash_as_hidden_fields_spec.rb +23 -0
  75. data/test_support/spec/helpers/render_constraints_helper_spec.rb +64 -0
  76. data/test_support/spec/helpers/search_history_helper_spec.rb +11 -0
  77. data/test_support/spec/helpers/solr_helper_spec.rb +873 -0
  78. data/test_support/spec/lib/blacklight_email_spec.rb +23 -0
  79. data/test_support/spec/lib/blacklight_sms_spec.rb +23 -0
  80. data/test_support/spec/lib/blacklight_solr_document_dublin_core_spec.rb +41 -0
  81. data/test_support/spec/lib/blacklight_solr_document_marc_spec.rb +88 -0
  82. data/test_support/spec/lib/blacklight_solr_document_spec.rb +173 -0
  83. data/test_support/spec/lib/blacklight_spec.rb +39 -0
  84. data/test_support/spec/lib/configurable_spec.rb +97 -0
  85. data/test_support/spec/lib/facet_paginator_spec.rb +93 -0
  86. data/test_support/spec/lib/marc_export_spec.rb +444 -0
  87. data/test_support/spec/lib/search_fields_spec.rb +105 -0
  88. data/test_support/spec/lib/tasks/blacklight_task_spec.rb +21 -0
  89. data/test_support/spec/lib/tasks/solr_marc_task_spec.rb +59 -0
  90. data/test_support/spec/models/bookmark_spec.rb +37 -0
  91. data/test_support/spec/models/record_mailer_spec.rb +67 -0
  92. data/test_support/spec/models/search_spec.rb +55 -0
  93. data/test_support/spec/models/solr_docment_spec.rb +111 -0
  94. data/test_support/spec/rcov.opts +3 -0
  95. data/test_support/spec/spec.opts +4 -0
  96. data/test_support/spec/spec_helper.rb +38 -0
  97. data/test_support/spec/support/action_controller.rb +42 -0
  98. data/test_support/spec/support/assert_difference.rb +16 -0
  99. data/test_support/spec/support/include_text.rb +20 -0
  100. data/test_support/spec/views/catalog/_constraints_element.html.erb_spec.rb +59 -0
  101. data/test_support/spec/views/catalog/_document_list.html.erb_spec.rb +8 -0
  102. data/test_support/spec/views/catalog/_facets.html.erb_spec.rb +182 -0
  103. data/test_support/spec/views/catalog/_index_partials/_default.erb_spec.rb +70 -0
  104. data/test_support/spec/views/catalog/_show_partials/_default.html.erb_spec.rb +70 -0
  105. data/test_support/spec/views/catalog/index.atom.builder_spec.rb +141 -0
  106. data/test_support/spec/views/catalog/show.html.erb_spec.rb +100 -0
  107. data/test_support/spec/views/catalog/unapi.xml.builder_spec.rb +45 -0
  108. metadata +95 -98
  109. data/lib/blacklight/marc.rb +0 -46
  110. data/lib/blacklight/marc/citation.rb +0 -251
  111. data/lib/railties/cucumber.rake +0 -53
  112. data/lib/railties/rspec.rake +0 -188
  113. data/spec/helpers/catalog_helper_spec.rb +0 -111
  114. data/spec/views/catalog/_sms_form.html.erb_spec.rb +0 -19
@@ -0,0 +1,578 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <!--
3
+ For information on how to customize this file, please see
4
+ http://wiki.apache.org/solr/SolrConfigXml. The page also has a link to
5
+ an extensively commented version of this file.
6
+ -->
7
+ <config>
8
+ <abortOnConfigurationError>${solr.abortOnConfigurationError:true}</abortOnConfigurationError>
9
+
10
+ <!-- lib directives can be used to instruct Solr to load an Jars identified
11
+ and use them to resolve any "plugins" specified in your solrconfig.xml or
12
+ schema.xml (ie: Analyzers, Request Handlers, etc...).
13
+
14
+ All directories and paths are resolved relative the instanceDir.
15
+
16
+ If a "./lib" directory exists in your instanceDir, all files found in it
17
+ are included as if you had used the following syntax...
18
+
19
+ <lib dir="./lib" />
20
+ -->
21
+ <!-- A dir option by itself adds any files found in the directory to the
22
+ classpath, this is useful for including all jars in a directory.
23
+ -->
24
+ <!-- <lib dir="../../contrib/extraction/lib" /> -->
25
+ <!-- When a regex is specified in addition to a directory, only the files in that
26
+ directory which completely match the regex (anchored on both ends)
27
+ will be included.
28
+ -->
29
+ <!-- <lib dir="../../dist/" regex="apache-solr-cell-\d.*\.jar" /> -->
30
+ <!-- <lib dir="../../dist/" regex="apache-solr-clustering-\d.*\.jar" /> -->
31
+ <!-- If a dir option (with or without a regex) is used and nothing is found
32
+ that matches, it will be ignored
33
+ -->
34
+ <!-- <lib dir="../../contrib/clustering/lib/downloads/" /> -->
35
+
36
+ <dataDir>${solr.data.dir:./solr/data}</dataDir>
37
+
38
+ <!-- index time configurations -->
39
+ <indexDefaults>
40
+ <useCompoundFile>false</useCompoundFile>
41
+ <mergeFactor>10</mergeFactor>
42
+ <!-- Sets the amount of RAM that may be used by Lucene indexing
43
+ for buffering added documents and deletions before they are
44
+ flushed to the Directory. -->
45
+ <!-- If both ramBufferSizeMB and maxBufferedDocs is set, then Lucene will flush based on whichever limit is hit first. -->
46
+ <ramBufferSizeMB>32</ramBufferSizeMB>
47
+ <maxMergeDocs>2147483647</maxMergeDocs>
48
+ <maxFieldLength>10000</maxFieldLength>
49
+ <writeLockTimeout>1000</writeLockTimeout>
50
+ <commitLockTimeout>10000</commitLockTimeout>
51
+
52
+ <!--
53
+ This option specifies which Lucene LockFactory implementation to use.
54
+
55
+ single = SingleInstanceLockFactory - suggested for a read-only index
56
+ or when there is no possibility of another process trying
57
+ to modify the index.
58
+ native = NativeFSLockFactory - uses OS native file locking
59
+ simple = SimpleFSLockFactory - uses a plain file for locking
60
+
61
+ (For backwards compatibility with Solr 1.2, 'simple' is the default
62
+ if not specified.)
63
+ -->
64
+ <lockType>native</lockType>
65
+ </indexDefaults>
66
+ <mainIndex>
67
+ <useCompoundFile>false</useCompoundFile>
68
+ <ramBufferSizeMB>32</ramBufferSizeMB>
69
+ <mergeFactor>10</mergeFactor>
70
+ <maxMergeDocs>2147483647</maxMergeDocs>
71
+ <maxFieldLength>10000</maxFieldLength>
72
+ <unlockOnStartup>false</unlockOnStartup>
73
+ <deletionPolicy class="solr.SolrDeletionPolicy">
74
+ <str name="keepOptimizedOnly">false</str>
75
+ <str name="maxCommitsToKeep">1</str>
76
+ <!-- The number of optimized commit points to be kept -->
77
+ <str name="maxOptimizedCommitsToKeep">1</str>
78
+ <!--
79
+ Delete all commit points once they have reached the given age.
80
+ Supports DateMathParser syntax e.g.
81
+
82
+ <str name="maxCommitAge">30MINUTES</str>
83
+ <str name="maxCommitAge">1DAY</str>
84
+ -->
85
+ </deletionPolicy>
86
+ </mainIndex>
87
+
88
+ <updateHandler class="solr.DirectUpdateHandler2" />
89
+
90
+ <!-- query time configurations -->
91
+ <query>
92
+ <maxBooleanClauses>1024</maxBooleanClauses>
93
+ <filterCache class="solr.FastLRUCache"
94
+ size="512" initialSize="512" autowarmCount="128"/>
95
+ <queryResultCache class="solr.LRUCache"
96
+ size="512" initialSize="512" autowarmCount="32"/>
97
+ <documentCache class="solr.LRUCache"
98
+ size="512" initialSize="512" autowarmCount="0"/>
99
+ <enableLazyFieldLoading>true</enableLazyFieldLoading>
100
+ <queryResultWindowSize>50</queryResultWindowSize>
101
+ <queryResultMaxDocsCached>200</queryResultMaxDocsCached>
102
+ <HashDocSet maxSize="3000" loadFactor="0.75"/>
103
+
104
+ <!-- a newSearcher event is fired whenever a new searcher is being prepared
105
+ and there is a current searcher handling requests (aka registered).
106
+ It can be used to prime certain caches to prevent long request times for
107
+ certain requests.
108
+ -->
109
+ <!-- QuerySenderListener takes an array of NamedList and executes a
110
+ local query request for each NamedList in sequence. -->
111
+ <listener event="newSearcher" class="solr.QuerySenderListener">
112
+ <arr name="queries">
113
+ <!-- query for all objects (default query) for home page facets -->
114
+ <lst>
115
+ <str name="rows">0</str>
116
+ <str name="fl">score</str>
117
+ <str name="facet">true</str>
118
+ <str name="facet.mincount">1</str>
119
+ <str name="facet.limit">10</str>
120
+ <str name="facet.field">format</str>
121
+ <str name="facet.field">lc_1letter_facet</str>
122
+ <str name="f.lc_1letter_facet.facet.sort">false</str>
123
+ <str name="facet.field">lc_alpha_facet</str>
124
+ <str name="facet.field">lc_b4cutter_facet</str>
125
+ <str name="facet.field">language_facet</str>
126
+ <str name="facet.field">pub_date</str>
127
+ <str name="facet.field">subject_era_facet</str>
128
+ <str name="facet.field">subject_geo_facet</str>
129
+ <str name="facet.field">subject_topic_facet</str>
130
+ </lst>
131
+ <!-- query for single document to populate filter cache -->
132
+ <lst>
133
+ <str name="q">id:00282214</str>
134
+ <str name="qt">standard</str>
135
+ <str name="rows">0</str>
136
+ <str name="fl">score</str>
137
+ <str name="facet">true</str>
138
+ <str name="facet.mincount">1</str>
139
+ <str name="facet.limit">10</str>
140
+ <str name="facet.field">format</str>
141
+ <str name="facet.field">lc_1letter_facet</str>
142
+ <str name="f.lc_1letter_facet.facet.sort">false</str>
143
+ <str name="facet.field">lc_alpha_facet</str>
144
+ <str name="facet.field">lc_b4cutter_facet</str>
145
+ <str name="facet.field">language_facet</str>
146
+ <str name="facet.field">pub_date</str>
147
+ <str name="facet.field">subject_era_facet</str>
148
+ <str name="facet.field">subject_geo_facet</str>
149
+ <str name="facet.field">subject_topic_facet</str>
150
+ </lst>
151
+ </arr>
152
+ </listener>
153
+
154
+ <!-- a firstSearcher event is fired whenever a new searcher is being
155
+ prepared but there is no current registered searcher to handle
156
+ requests or to gain autowarming data from. -->
157
+ <listener event="firstSearcher" class="solr.QuerySenderListener">
158
+ <arr name="queries">
159
+ <!-- query for all objects (default query) for home page facets -->
160
+ <lst>
161
+ <str name="rows">0</str>
162
+ <str name="fl">score</str>
163
+ <str name="facet">true</str>
164
+ <str name="facet.mincount">1</str>
165
+ <str name="facet.limit">10</str>
166
+ <str name="facet.field">format</str>
167
+ <str name="facet.field">lc_1letter_facet</str>
168
+ <str name="f.lc_1letter_facet.facet.sort">false</str>
169
+ <str name="facet.field">lc_alpha_facet</str>
170
+ <str name="facet.field">lc_b4cutter_facet</str>
171
+ <str name="facet.field">language_facet</str>
172
+ <str name="facet.field">pub_date</str>
173
+ <str name="facet.field">subject_era_facet</str>
174
+ <str name="facet.field">subject_geo_facet</str>
175
+ <str name="facet.field">subject_topic_facet</str>
176
+ </lst>
177
+ <!-- query for single document to populate filter cache -->
178
+ <lst>
179
+ <str name="q">id:00282214</str>
180
+ <str name="qt">standard</str>
181
+ <str name="rows">0</str>
182
+ <str name="fl">score</str>
183
+ <str name="facet">true</str>
184
+ <str name="facet.mincount">1</str>
185
+ <str name="facet.limit">10</str>
186
+ <str name="facet.field">format</str>
187
+ <str name="facet.field">lc_1letter_facet</str>
188
+ <str name="f.lc_1letter_facet.facet.sort">false</str>
189
+ <str name="facet.field">lc_alpha_facet</str>
190
+ <str name="facet.field">lc_b4cutter_facet</str>
191
+ <str name="facet.field">language_facet</str>
192
+ <str name="facet.field">pub_date</str>
193
+ <str name="facet.field">subject_era_facet</str>
194
+ <str name="facet.field">subject_geo_facet</str>
195
+ <str name="facet.field">subject_topic_facet</str>
196
+ </lst>
197
+ </arr>
198
+ </listener>
199
+
200
+ <useColdSearcher>false</useColdSearcher>
201
+ <maxWarmingSearchers>2</maxWarmingSearchers>
202
+ </query>
203
+
204
+ <requestDispatcher handleSelect="true" >
205
+ <requestParsers enableRemoteStreaming="false" multipartUploadLimitInKB="2048" />
206
+ <httpCaching lastModifiedFrom="openTime" etagSeed="Solr" />
207
+ </requestDispatcher>
208
+
209
+ <!-- blacklight does not use the standard request handler -->
210
+ <requestHandler name="standard" class="solr.SearchHandler">
211
+ <lst name="defaults">
212
+ <str name="echoParams">all</str>
213
+ <str name="q.op">AND</str>
214
+ </lst>
215
+ </requestHandler>
216
+
217
+ <!-- Searching ("All Fields") -->
218
+ <requestHandler name="search" class="solr.SearchHandler" default="true" >
219
+ <lst name="defaults">
220
+ <str name="defType">dismax</str>
221
+ <str name="echoParams">explicit</str>
222
+ <str name="q.alt">*:*</str>
223
+ <str name="mm">2&lt;-1 5&lt;-2 6&lt;90%</str>
224
+ <!-- this qf and pf are used by default, if not otherwise specified by
225
+ client. The default blacklight_config will use these for the
226
+ "keywords" search. See the author_qf/author_pf, title_qf, etc
227
+ below, which the default blacklight_config will specify for
228
+ those searches. You may also be interested in:
229
+ http://wiki.apache.org/solr/LocalParams
230
+ -->
231
+ <str name="qf">
232
+ title_unstem_search^100000
233
+ subtitle_unstem_search^50000
234
+ title_t^25000
235
+ subtitle_t^10000
236
+ title_addl_unstem_search^5000
237
+ title_addl_t^2500
238
+ title_added_entry_unstem_search^1500
239
+ title_added_entry_t^1250
240
+ subject_topic_unstem_search^1000
241
+ subject_unstem_search^750
242
+ subject_topic_facet^625
243
+ subject_t^500
244
+ author_unstem_search^250
245
+ author_addl_unstem_search^250
246
+ author_t^100
247
+ author_addl_t^50
248
+ subject_addl_unstem_search^250
249
+ subject_addl_t^50
250
+ title_series_unstem_search^25
251
+ title_series_t^10
252
+ isbn_t
253
+ text
254
+ </str>
255
+ <str name="pf">
256
+ title_unstem_search^1000000
257
+ subtitle_unstem_search^500000
258
+ title_t^250000
259
+ subtitle_t^100000
260
+ title_addl_unstem_search^50000
261
+ title_addl_t^25000
262
+ title_added_entry_unstem_search^15000
263
+ title_added_entry_t^12500
264
+ subject_topic_unstem_search^10000
265
+ subject_unstem_search^7500
266
+ subject_topic_facet^6250
267
+ subject_t^5000
268
+ author_unstem_search^2500
269
+ author_addl_unstem_search^2500
270
+ author_t^1000
271
+ author_addl_t^500
272
+ subject_addl_unstem_search^2500
273
+ subject_addl_t^500
274
+ title_series_unstem_search^250
275
+ title_series_t^100
276
+ text^10
277
+ </str>
278
+ <str name="author_qf">
279
+ author_unstem_search^200
280
+ author_addl_unstem_search^50
281
+ author_t^20
282
+ author_addl_t
283
+ </str>
284
+ <str name="author_pf">
285
+ author_unstem_search^2000
286
+ author_addl_unstem_search^500
287
+ author_t^200
288
+ author_addl_t^10
289
+ </str>
290
+ <str name="title_qf">
291
+ title_unstem_search^50000
292
+ subtitle_unstem_search^25000
293
+ title_addl_unstem_search^10000
294
+ title_t^5000
295
+ subtitle_t^2500
296
+ title_addl_t^100
297
+ title_added_entry_unstem_search^50
298
+ title_added_entry_t^10
299
+ title_series_unstem_search^5
300
+ title_series_t
301
+ </str>
302
+ <str name="title_pf">
303
+ title_unstem_search^500000
304
+ subtitle_unstem_search^250000
305
+ title_addl_unstem_search^100000
306
+ title_t^50000
307
+ subtitle_t^25000
308
+ title_addl_t^1000
309
+ title_added_entry_unstem_search^500
310
+ title_added_entry_t^100
311
+ title_series_t^50
312
+ title_series_unstem_search^10
313
+ </str>
314
+ <str name="subject_qf">
315
+ subject_topic_unstem_search^200
316
+ subject_unstem_search^125
317
+ subject_topic_facet^100
318
+ subject_t^50
319
+ subject_addl_unstem_search^10
320
+ subject_addl_t
321
+ </str>
322
+ <str name="subject_pf">
323
+ subject_topic_unstem_search^2000
324
+ subject_unstem_search^1250
325
+ subject_t^1000
326
+ subject_topic_facet^500
327
+ subject_addl_unstem_search^100
328
+ subject_addl_t^10
329
+ </str>
330
+
331
+
332
+ <int name="ps">3</int>
333
+ <float name="tie">0.01</float>
334
+
335
+ <!-- NOT using marc_display because it is large and will slow things down for search results -->
336
+ <str name="fl">
337
+ id,
338
+ score,
339
+ author_display,
340
+ author_vern_display,
341
+ format,
342
+ isbn_t,
343
+ language_facet,
344
+ lc_callnum_display,
345
+ material_type_display,
346
+ published_display,
347
+ published_vern_display,
348
+ pub_date,
349
+ title_display,
350
+ title_vern_display,
351
+ subject_topic_facet,
352
+ subject_geo_facet,
353
+ subject_era_facet,
354
+ subtitle_display,
355
+ subtitle_vern_display,
356
+ url_fulltext_display,
357
+ url_suppl_display,
358
+ </str>
359
+
360
+ <str name="facet">true</str>
361
+ <str name="facet.mincount">1</str>
362
+ <str name="facet.limit">10</str>
363
+ <str name="facet.field">format</str>
364
+ <str name="facet.field">lc_1letter_facet</str>
365
+ <str name="facet.field">lc_alpha_facet</str>
366
+ <str name="facet.field">lc_b4cutter_facet</str>
367
+ <str name="facet.field">language_facet</str>
368
+ <str name="facet.field">pub_date</str>
369
+ <str name="facet.field">subject_era_facet</str>
370
+ <str name="facet.field">subject_geo_facet</str>
371
+ <str name="facet.field">subject_topic_facet</str>
372
+
373
+ <str name="spellcheck">true</str>
374
+ <str name="spellcheck.dictionary">default</str>
375
+ <str name="spellcheck.onlyMorePopular">true</str>
376
+ <str name="spellcheck.extendedResults">true</str>
377
+ <str name="spellcheck.collate">false</str>
378
+ <str name="spellcheck.count">5</str>
379
+ </lst>
380
+ <arr name="last-components">
381
+ <str>spellcheck</str>
382
+ </arr>
383
+ </requestHandler>
384
+
385
+ <!-- for requests to get a single document; use id=666 instead of q=id:666 -->
386
+ <requestHandler name="document" class="solr.SearchHandler" >
387
+ <lst name="defaults">
388
+ <str name="echoParams">all</str>
389
+ <str name="fl">*</str>
390
+ <str name="rows">1</str>
391
+ <str name="q">{!raw f=id v=$id}</str> <!-- use id=666 instead of q=id:666 -->
392
+ </lst>
393
+ </requestHandler>
394
+
395
+ <!-- For Advanced Search -->
396
+ <requestHandler name="advanced" class="solr.SearchHandler" >
397
+ <lst name="defaults">
398
+ <str name="defType">lucene</str>
399
+ <str name="echoParams">explicit</str>
400
+ <str name="sort">score desc, pub_date_sort desc, title_sort asc</str>
401
+ <str name="df">text</str>
402
+ <str name="q.op">AND</str>
403
+ <str name="qs">1</str>
404
+
405
+ <!-- used for dismax query parser -->
406
+ <str name="mm">1</str>
407
+ <str name="ps">3</str>
408
+ <float name="tie">0.01</float>
409
+
410
+ <!-- for user query terms in author text box -->
411
+ <str name="qf_author">
412
+ author_unstem_search^200
413
+ author_addl_unstem_search^50
414
+ author_t^20
415
+ author_addl_t
416
+ </str>
417
+ <str name="pf_author">
418
+ author_unstem_search^2000
419
+ author_addl_unstem_search^500
420
+ author_t^200
421
+ author_addl_t^10
422
+ </str>
423
+
424
+ <!-- for user query terms in title text box -->
425
+ <str name="qf_title">
426
+ title_unstem_search^50000
427
+ subtitle_unstem_search^25000
428
+ title_addl_unstem_search^10000
429
+ title_t^5000
430
+ subtitle_t^2500
431
+ title_addl_t^100
432
+ title_added_entry_unstem_search^50
433
+ title_added_entry_t^10
434
+ title_series_unstem_search^5
435
+ title_series_t
436
+ </str>
437
+ <str name="pf_title">
438
+ title_unstem_search^500000
439
+ subtitle_unstem_search^250000
440
+ title_addl_unstem_search^100000
441
+ title_t^50000
442
+ subtitle_t^25000
443
+ title_addl_t^1000
444
+ title_added_entry_unstem_search^500
445
+ title_added_entry_t^100
446
+ title_series_t^50
447
+ title_series_unstem_search^10
448
+ </str>
449
+
450
+ <!-- for user query terms in subject text box -->
451
+ <str name="qf_subject">
452
+ subject_topic_unstem_search^200
453
+ subject_unstem_search^125
454
+ subject_topic_facet^100
455
+ subject_t^50
456
+ subject_addl_unstem_search^10
457
+ subject_addl_t
458
+ </str>
459
+ <str name="pf_subject">
460
+ subject_topic_unstem_search^2000
461
+ subject_unstem_search^1250
462
+ subject_t^1000
463
+ subject_topic_facet^500
464
+ subject_addl_unstem_search^100
465
+ subject_addl_t^10
466
+ </str>
467
+
468
+ <!-- for user query terms in number text box -->
469
+ <str name="qf_number">isbn_t</str>
470
+
471
+ <!-- for user query terms in keyword text box -->
472
+ <str name="qf_keyword">text</str>
473
+ <str name="pf_keyword">text^10</str>
474
+
475
+ <!-- NOT using marc_display because it is large and will slow things down for search results -->
476
+ <str name="fl">
477
+ id,
478
+ score,
479
+ author_display,
480
+ author_vern_display,
481
+ format,
482
+ isbn_t,
483
+ language_facet,
484
+ lc_callnum_display,
485
+ material_type_display,
486
+ published_display,
487
+ published_vern_display,
488
+ pub_date,
489
+ title_display,
490
+ title_vern_display,
491
+ subject_topic_facet,
492
+ subject_geo_facet,
493
+ subject_era_facet,
494
+ subtitle_display,
495
+ subtitle_vern_display,
496
+ url_fulltext_display,
497
+ url_suppl_display,
498
+ </str>
499
+
500
+ <str name="facet">true</str>
501
+ <str name="facet.mincount">1</str>
502
+ <str name="facet.limit">10</str>
503
+ <str name="facet.field">format</str>
504
+ <str name="facet.field">lc_1letter_facet</str>
505
+ <str name="facet.field">lc_alpha_facet</str>
506
+ <str name="facet.field">lc_b4cutter_facet</str>
507
+ <str name="facet.field">language_facet</str>
508
+ <str name="facet.field">pub_date</str>
509
+ <str name="facet.field">subject_era_facet</str>
510
+ <str name="facet.field">subject_geo_facet</str>
511
+ <str name="facet.field">subject_topic_facet</str>
512
+
513
+ <str name="spellcheck">true</str>
514
+ <str name="spellcheck.dictionary">subject</str>
515
+ <str name="spellcheck.onlyMorePopular">true</str>
516
+ <str name="spellcheck.extendedResults">true</str>
517
+ <str name="spellcheck.collate">false</str>
518
+ <str name="spellcheck.count">5</str>
519
+ </lst>
520
+ <arr name="last-components">
521
+ <str>spellcheck</str>
522
+ </arr>
523
+ </requestHandler>
524
+
525
+ <searchComponent name="spellcheck" class="solr.SpellCheckComponent">
526
+ <str name="queryAnalyzerFieldType">textSpell</str>
527
+ <lst name="spellchecker">
528
+ <str name="name">default</str>
529
+ <str name="field">spell</str>
530
+ <str name="spellcheckIndexDir">./spell</str>
531
+ <str name="buildOnOptimize">true</str>
532
+ </lst>
533
+ <lst name="spellchecker">
534
+ <str name="name">author</str>
535
+ <str name="field">author_spell</str>
536
+ <str name="spellcheckIndexDir">./spell_author</str>
537
+ <str name="accuracy">0.7</str>
538
+ <str name="buildOnOptimize">true</str>
539
+ </lst>
540
+ <lst name="spellchecker">
541
+ <str name="name">subject</str>
542
+ <str name="field">subject_spell</str>
543
+ <str name="spellcheckIndexDir">./spell_subject</str>
544
+ <str name="accuracy">0.7</str>
545
+ <str name="buildOnOptimize">true</str>
546
+ </lst>
547
+ <lst name="spellchecker">
548
+ <str name="name">title</str>
549
+ <str name="field">title_spell</str>
550
+ <str name="spellcheckIndexDir">./spell_title</str>
551
+ <str name="accuracy">0.7</str>
552
+ <str name="buildOnOptimize">true</str>
553
+ </lst>
554
+ </searchComponent>
555
+
556
+ <requestHandler name="/update" class="solr.XmlUpdateRequestHandler" />
557
+ <requestHandler name="/update/javabin" class="solr.BinaryUpdateRequestHandler" />
558
+ <requestHandler name="/analysis" class="solr.AnalysisRequestHandler" />
559
+ <requestHandler name="/admin/" class="org.apache.solr.handler.admin.AdminHandlers" />
560
+ <requestHandler name="/admin/ping" class="PingRequestHandler">
561
+ <lst name="defaults">
562
+ <str name="qt">search</str>
563
+ <str name="q">book</str>
564
+ <str name="echoParams">all</str>
565
+ </lst>
566
+ </requestHandler>
567
+ <admin>
568
+ <defaultQuery>book</defaultQuery>
569
+ </admin>
570
+
571
+ <requestHandler name="/debug/dump" class="solr.DumpRequestHandler" >
572
+ <lst name="defaults">
573
+ <str name="echoParams">explicit</str>
574
+ <str name="echoHandler">true</str>
575
+ </lst>
576
+ </requestHandler>
577
+
578
+ </config>