blacklight_advanced_search 6.4.1 → 7.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (29) hide show
  1. checksums.yaml +5 -5
  2. data/.rubocop.yml +1 -1
  3. data/.rubocop_todo.yml +6 -374
  4. data/.travis.yml +7 -7
  5. data/Gemfile +2 -0
  6. data/Rakefile +2 -2
  7. data/VERSION +1 -1
  8. data/app/assets/stylesheets/blacklight_advanced_search/blacklight_advanced_search_styles.css.scss +4 -0
  9. data/app/controllers/blacklight_advanced_search/advanced_controller.rb +1 -1
  10. data/app/views/advanced/_advanced_search_facets_as_select.html.erb +7 -7
  11. data/app/views/advanced/_advanced_search_help.html.erb +8 -8
  12. data/app/views/advanced/_advanced_search_submit_btns.html.erb +3 -3
  13. data/app/views/advanced/_facet_limit.html.erb +4 -4
  14. data/app/views/advanced/index.html.erb +1 -1
  15. data/app/views/blacklight_advanced_search/_facet_limit.html.erb +7 -7
  16. data/blacklight_advanced_search.gemspec +4 -6
  17. data/lib/blacklight_advanced_search/advanced_search_builder.rb +1 -1
  18. data/lib/blacklight_advanced_search/engine.rb +0 -1
  19. data/lib/blacklight_advanced_search/parsing_nesting_parser.rb +1 -1
  20. data/lib/blacklight_advanced_search/render_constraints_override.rb +3 -3
  21. data/lib/generators/blacklight_advanced_search/install_generator.rb +2 -2
  22. data/solr/conf/schema.xml +326 -573
  23. data/solr/conf/solrconfig.xml +79 -294
  24. data/spec/features/blacklight_advanced_search_form_spec.rb +3 -3
  25. data/spec/lib/advanced_search_builder_spec.rb +0 -1
  26. data/spec/lib/blacklight_advanced_search/parsing_nesting_parser_spec.rb +20 -0
  27. data/spec/test_app_templates/app/controllers/catalog_controller.rb +4 -4
  28. metadata +14 -20
  29. data/solr/sample_solr_documents.yml +0 -2692
@@ -1,229 +1,92 @@
1
1
  <?xml version="1.0" encoding="UTF-8" ?>
2
- <!--
3
- Licensed to the Apache Software Foundation (ASF) under one or more
4
- contributor license agreements. See the NOTICE file distributed with
5
- this work for additional information regarding copyright ownership.
6
- The ASF licenses this file to You under the Apache License, Version 2.0
7
- (the "License"); you may not use this file except in compliance with
8
- the License. You may obtain a copy of the License at
9
-
10
- http://www.apache.org/licenses/LICENSE-2.0
11
-
12
- Unless required by applicable law or agreed to in writing, software
13
- distributed under the License is distributed on an "AS IS" BASIS,
14
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- See the License for the specific language governing permissions and
16
- limitations under the License.
17
- -->
18
-
19
- <!--
20
- This is a stripped down config file used for a simple example...
21
- It is *not* a good example to work from.
22
- -->
23
2
  <config>
24
-
25
- <!-- Controls what version of Lucene various components of Solr
26
- adhere to. Generally, you want to use the latest version to
27
- get all bug fixes and improvements. It is highly recommended
28
- that you fully re-index after changing this setting as it can
29
- affect both how text is indexed and queried.
30
- -->
31
- <luceneMatchVersion>5.0.0</luceneMatchVersion>
32
-
33
- <lib dir="${solr.install.dir:../../../..}/contrib/analysis-extras/lib" />
34
- <lib dir="${solr.install.dir:../../../..}/contrib/analysis-extras/lucene-libs" />
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 -->
35
6
 
36
- <directoryFactory name="DirectoryFactory"
37
- class="${solr.directoryFactory:solr.NRTCachingDirectoryFactory}">
38
- </directoryFactory>
7
+ <abortOnConfigurationError>${solr.abortOnConfigurationError:true}</abortOnConfigurationError>
39
8
 
40
- <codecFactory class="solr.SchemaCodecFactory"/>
9
+ <luceneMatchVersion>6.1.0</luceneMatchVersion>
41
10
 
42
- <schemaFactory class="ClassicIndexSchemaFactory"/>
11
+ <directoryFactory name="DirectoryFactory" class="${solr.directoryFactory:solr.StandardDirectoryFactory}"/>
43
12
 
13
+ <updateHandler class="solr.DirectUpdateHandler2">
14
+ <updateLog>
15
+ <str name="dir">${solr.core0.data.dir:}</str>
16
+ </updateLog>
17
+ </updateHandler>
44
18
 
45
- <dataDir>${solr.blacklight-core.data.dir:}</dataDir>
46
-
47
- <requestDispatcher handleSelect="true" >
48
- <requestParsers enableRemoteStreaming="false" multipartUploadLimitInKB="2048" />
49
- </requestDispatcher>
50
-
51
- <requestHandler name="/analysis/field" startup="lazy" class="solr.FieldAnalysisRequestHandler" />
52
-
53
- <!-- config for the admin interface -->
54
- <admin>
55
- <defaultQuery>*:*</defaultQuery>
56
- </admin>
57
-
58
- <!-- SearchHandler
19
+ <!-- solr lib dirs -->
20
+ <lib dir="${solr.install.dir:../../../..}/contrib/analysis-extras/lib" />
21
+ <lib dir="${solr.install.dir:../../../..}/contrib/analysis-extras/lucene-libs" />
59
22
 
60
- http://wiki.apache.org/solr/SearchHandler
23
+ <dataDir>${solr.data.dir:}</dataDir>
61
24
 
62
- For processing Search Queries, the primary Request Handler
63
- provided with Solr is "SearchHandler" It delegates to a sequent
64
- of SearchComponents (see below) and supports distributed
65
- queries across multiple shards
66
- -->
67
25
  <requestHandler name="search" class="solr.SearchHandler" default="true">
68
26
  <!-- default values for query parameters can be specified, these
69
27
  will be overridden by parameters in the request
70
28
  -->
71
29
  <lst name="defaults">
72
- <str name="defType">dismax</str>
30
+ <str name="defType">edismax</str>
73
31
  <str name="echoParams">explicit</str>
74
- <int name="rows">10</int>
75
-
76
32
  <str name="q.alt">*:*</str>
77
33
  <str name="mm">2&lt;-1 5&lt;-2 6&lt;90%</str>
78
-
34
+ <int name="qs">1</int>
35
+ <int name="ps">2</int>
36
+ <float name="tie">0.01</float>
79
37
  <!-- this qf and pf are used by default, if not otherwise specified by
80
38
  client. The default blacklight_config will use these for the
81
- "keywords" search. See the author_qf/author_pf, title_qf, etc
39
+ "keywords" search. See the author_qf/author_pf, title_qf, etc
82
40
  below, which the default blacklight_config will specify for
83
41
  those searches. You may also be interested in:
84
42
  http://wiki.apache.org/solr/LocalParams
85
43
  -->
44
+ <str name="qf">
45
+ id
46
+ full_title_tsim
47
+ short_title_tsim
48
+ alternative_title_tsim
49
+ active_fedora_model_ssi
50
+ title_tsim
51
+ author_tsimesim
52
+ subject_tsim
53
+ all_text_timv
54
+ </str>
55
+ <str name="pf">
56
+ all_text_timv^10
57
+ </str>
86
58
 
87
- <str name="qf">
88
- title_unstem_search^100000
89
- subtitle_unstem_search^50000
90
- title_t^25000
91
- subtitle_t^10000
92
- title_addl_unstem_search^5000
93
- title_addl_t^2500
94
- title_added_entry_unstem_search^1500
95
- title_added_entry_t^1250
96
- subject_topic_unstem_search^1000
97
- subject_unstem_search^750
98
- subject_topic_facet^625
99
- subject_t^500
100
- author_unstem_search^250
101
- author_addl_unstem_search^250
102
- author_t^100
103
- author_addl_t^50
104
- subject_addl_unstem_search^250
105
- subject_addl_t^50
106
- title_series_unstem_search^25
107
- title_series_t^10
108
- isbn_t
109
- text
110
- </str>
111
- <str name="pf">
112
- title_unstem_search^1000000
113
- subtitle_unstem_search^500000
114
- title_t^250000
115
- subtitle_t^100000
116
- title_addl_unstem_search^50000
117
- title_addl_t^25000
118
- title_added_entry_unstem_search^15000
119
- title_added_entry_t^12500
120
- subject_topic_unstem_search^10000
121
- subject_unstem_search^7500
122
- subject_topic_facet^6250
123
- subject_t^5000
124
- author_unstem_search^2500
125
- author_addl_unstem_search^2500
126
- author_t^1000
127
- author_addl_t^500
128
- subject_addl_unstem_search^2500
129
- subject_addl_t^500
130
- title_series_unstem_search^250
131
- title_series_t^100
132
- text^10
133
- </str>
134
59
  <str name="author_qf">
135
- author_unstem_search^200
136
- author_addl_unstem_search^50
137
- author_t^20
138
- author_addl_t
60
+ author_tsim
139
61
  </str>
140
62
  <str name="author_pf">
141
- author_unstem_search^2000
142
- author_addl_unstem_search^500
143
- author_t^200
144
- author_addl_t^10
145
63
  </str>
146
64
  <str name="title_qf">
147
- title_unstem_search^50000
148
- subtitle_unstem_search^25000
149
- title_addl_unstem_search^10000
150
- title_t^5000
151
- subtitle_t^2500
152
- title_addl_t^100
153
- title_added_entry_unstem_search^50
154
- title_added_entry_t^10
155
- title_series_unstem_search^5
156
- title_series_t
65
+ title_tsim
66
+ full_title_tsim
67
+ short_title_tsim
68
+ alternative_title_tsim
157
69
  </str>
158
70
  <str name="title_pf">
159
- title_unstem_search^500000
160
- subtitle_unstem_search^250000
161
- title_addl_unstem_search^100000
162
- title_t^50000
163
- subtitle_t^25000
164
- title_addl_t^1000
165
- title_added_entry_unstem_search^500
166
- title_added_entry_t^100
167
- title_series_t^50
168
- title_series_unstem_search^10
169
71
  </str>
170
72
  <str name="subject_qf">
171
- subject_topic_unstem_search^200
172
- subject_unstem_search^125
173
- subject_topic_facet^100
174
- subject_t^50
175
- subject_addl_unstem_search^10
176
- subject_addl_t
73
+ subject_tsim
177
74
  </str>
178
75
  <str name="subject_pf">
179
- subject_topic_unstem_search^2000
180
- subject_unstem_search^1250
181
- subject_t^1000
182
- subject_topic_facet^500
183
- subject_addl_unstem_search^100
184
- subject_addl_t^10
185
76
  </str>
186
-
187
- <int name="ps">3</int>
188
- <float name="tie">0.01</float>
189
77
 
190
- <!-- NOT using marc_display because it is large and will slow things down for search results -->
191
78
  <str name="fl">
192
- id,
193
- score,
194
- author_display,
195
- author_vern_display,
196
- format,
197
- isbn_t,
198
- language_facet,
199
- lc_callnum_display,
200
- material_type_display,
201
- published_display,
202
- published_vern_display,
203
- pub_date,
204
- title_display,
205
- title_vern_display,
206
- subject_topic_facet,
207
- subject_geo_facet,
208
- subject_era_facet,
209
- subtitle_display,
210
- subtitle_vern_display,
211
- url_fulltext_display,
212
- url_suppl_display,
79
+ *,
80
+ score
213
81
  </str>
214
82
 
215
83
  <str name="facet">true</str>
216
84
  <str name="facet.mincount">1</str>
217
- <str name="facet.field">format</str>
218
- <str name="facet.field">lc_1letter_facet</str>
219
- <str name="facet.field">lc_alpha_facet</str>
220
- <str name="facet.field">lc_b4cutter_facet</str>
221
- <str name="facet.field">language_facet</str>
222
- <str name="facet.field">pub_date</str>
223
- <str name="facet.field">subject_era_facet</str>
224
- <str name="facet.field">subject_geo_facet</str>
225
- <str name="facet.field">subject_topic_facet</str>
226
-
85
+ <str name="facet.limit">10</str>
86
+ <str name="facet.field">active_fedora_model_ssi</str>
87
+ <str name="facet.field">subject_ssim</str>
88
+ <str name="facet.field">language_ssim</str>
89
+
227
90
  <str name="spellcheck">true</str>
228
91
  <str name="spellcheck.dictionary">default</str>
229
92
  <str name="spellcheck.onlyMorePopular">true</str>
@@ -232,91 +95,46 @@
232
95
  <str name="spellcheck.count">5</str>
233
96
 
234
97
  </lst>
235
- <!-- In addition to defaults, "appends" params can be specified
236
- to identify values which should be appended to the list of
237
- multi-val params from the query (or the existing "defaults").
238
- -->
239
- <!-- In this example, the param "fq=instock:true" would be appended to
240
- any query time fq params the user may specify, as a mechanism for
241
- partitioning the index, independent of any user selected filtering
242
- that may also be desired (perhaps as a result of faceted searching).
243
-
244
- NOTE: there is *absolutely* nothing a client can do to prevent these
245
- "appends" values from being used, so don't use this mechanism
246
- unless you are sure you always want it.
247
- -->
248
- <!--
249
- <lst name="appends">
250
- <str name="fq">inStock:true</str>
251
- </lst>
252
- -->
253
- <!-- "invariants" are a way of letting the Solr maintainer lock down
254
- the options available to Solr clients. Any params values
255
- specified here are used regardless of what values may be specified
256
- in either the query, the "defaults", or the "appends" params.
257
-
258
- In this example, the facet.field and facet.query params would
259
- be fixed, limiting the facets clients can use. Faceting is
260
- not turned on by default - but if the client does specify
261
- facet=true in the request, these are the only facets they
262
- will be able to see counts for; regardless of what other
263
- facet.field or facet.query params they may specify.
264
-
265
- NOTE: there is *absolutely* nothing a client can do to prevent these
266
- "invariants" values from being used, so don't use this mechanism
267
- unless you are sure you always want it.
268
- -->
269
- <!--
270
- <lst name="invariants">
271
- <str name="facet.field">cat</str>
272
- <str name="facet.field">manu_exact</str>
273
- <str name="facet.query">price:[* TO 500]</str>
274
- <str name="facet.query">price:[500 TO *]</str>
275
- </lst>
276
- -->
277
- <!-- If the default list of SearchComponents is not desired, that
278
- list can either be overridden completely, or components can be
279
- prepended or appended to the default list. (see below)
280
- -->
281
- <!--
282
- <arr name="components">
283
- <str>nameOfCustomComponent1</str>
284
- <str>nameOfCustomComponent2</str>
285
- </arr>
286
- -->
287
98
  <arr name="last-components">
288
99
  <str>spellcheck</str>
289
100
  </arr>
290
-
291
101
  </requestHandler>
292
102
 
293
- <!-- for requests to get a single document; use id=666 instead of q=id:666 -->
294
- <requestHandler name="document" class="solr.SearchHandler" >
103
+ <requestHandler name="permissions" class="solr.SearchHandler" >
295
104
  <lst name="defaults">
105
+ <str name="facet">off</str>
296
106
  <str name="echoParams">all</str>
297
- <str name="fl">*</str>
298
107
  <str name="rows">1</str>
299
- <str name="q">{!term f=id v=$id}</str> <!-- use id=666 instead of q=id:666 -->
108
+ <str name="q">{!raw f=id v=$id}</str> <!-- use id=666 instead of q=id:666 -->
109
+ <str name="fl">
110
+ id,
111
+ access_ssim,
112
+ discover_access_group_ssim,discover_access_person_ssim,
113
+ read_access_group_ssim,read_access_person_ssim,
114
+ edit_access_group_ssim,edit_access_person_ssim,
115
+ depositor_ti,
116
+ embargo_release_date_dtsi
117
+ inheritable_access_ssim,
118
+ inheritable_discover_access_group_ssim,inheritable_discover_access_person_ssim,
119
+ inheritable_read_access_group_ssim,inheritable_read_access_person_ssim,
120
+ inheritable_edit_access_group_ssim,inheritable_edit_access_person_ssim,
121
+ inheritable_embargo_release_date_dtsi
122
+ </str>
300
123
  </lst>
301
124
  </requestHandler>
302
125
 
303
- <!-- Spell Check
126
+ <requestHandler name="standard" class="solr.SearchHandler">
127
+ <lst name="defaults">
128
+ <str name="echoParams">explicit</str>
129
+ <str name="defType">lucene</str>
130
+ </lst>
131
+ </requestHandler>
304
132
 
305
- The spell check component can return a list of alternative spelling
306
- suggestions.
307
133
 
308
- http://wiki.apache.org/solr/SpellCheckComponent
309
- -->
310
134
  <searchComponent name="spellcheck" class="solr.SpellCheckComponent">
311
-
312
135
  <str name="queryAnalyzerFieldType">textSpell</str>
313
-
314
- <!-- Multiple "Spell Checkers" can be declared and used by this
315
- component
316
- -->
317
-
318
- <!-- a spellchecker built from a field of the main index, and
319
- written to disk
136
+ <!-- Multiple "Spell Checkers" can be declared and used by this component
137
+ (e.g. for title_spell field)
320
138
  -->
321
139
  <lst name="spellchecker">
322
140
  <str name="name">default</str>
@@ -345,45 +163,6 @@
345
163
  <str name="accuracy">0.7</str>
346
164
  <str name="buildOnOptimize">true</str>
347
165
  </lst>
348
-
349
- <!-- a spellchecker that uses a different distance measure -->
350
- <!--
351
- <lst name="spellchecker">
352
- <str name="name">jarowinkler</str>
353
- <str name="field">spell</str>
354
- <str name="distanceMeasure">
355
- org.apache.lucene.search.spell.JaroWinklerDistance
356
- </str>
357
- <str name="spellcheckIndexDir">spellcheckerJaro</str>
358
- </lst>
359
- -->
360
-
361
- <!-- a spellchecker that use an alternate comparator
362
-
363
- comparatorClass be one of:
364
- 1. score (default)
365
- 2. freq (Frequency first, then score)
366
- 3. A fully qualified class name
367
- -->
368
- <!--
369
- <lst name="spellchecker">
370
- <str name="name">freq</str>
371
- <str name="field">lowerfilt</str>
372
- <str name="spellcheckIndexDir">spellcheckerFreq</str>
373
- <str name="comparatorClass">freq</str>
374
- <str name="buildOnCommit">true</str>
375
- -->
376
-
377
- <!-- A spellchecker that reads the list of words from a file -->
378
- <!--
379
- <lst name="spellchecker">
380
- <str name="classname">solr.FileBasedSpellChecker</str>
381
- <str name="name">file</str>
382
- <str name="sourceLocation">spellings.txt</str>
383
- <str name="characterEncoding">UTF-8</str>
384
- <str name="spellcheckIndexDir">spellcheckerFile</str>
385
- </lst>
386
- -->
387
166
  </searchComponent>
388
167
 
389
168
  <searchComponent name="suggest" class="solr.SuggestComponent">
@@ -407,5 +186,11 @@
407
186
  </arr>
408
187
  </requestHandler>
409
188
 
410
- </config>
189
+ <requestHandler name="/replication" class="solr.ReplicationHandler" startup="lazy" />
190
+
191
+ <requestDispatcher handleSelect="true" >
192
+ <requestParsers enableRemoteStreaming="true" multipartUploadLimitInKB="2048" />
193
+ </requestDispatcher>
411
194
 
195
+ <requestHandler name="/analysis/field" startup="lazy" class="solr.FieldAnalysisRequestHandler" />
196
+ </config>
@@ -34,10 +34,10 @@ describe "Blacklight Advanced Search Form" do
34
34
 
35
35
  describe "facet column" do
36
36
  it "should list facets" do
37
- expect(page).to have_selector('.blacklight-language_facet')
37
+ expect(page).to have_selector('.blacklight-language_ssim')
38
38
 
39
- within('.blacklight-language_facet') do
40
- expect(page).to have_content "Language Facet"
39
+ within('.blacklight-language_ssim') do
40
+ expect(page).to have_content "Language Ssim"
41
41
  end
42
42
  end
43
43
  end