blacklight_advanced_search 6.4.1 → 7.0.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 +5 -5
- data/.rubocop.yml +1 -1
- data/.rubocop_todo.yml +6 -374
- data/.travis.yml +7 -7
- data/Gemfile +2 -0
- data/Rakefile +2 -2
- data/VERSION +1 -1
- data/app/assets/stylesheets/blacklight_advanced_search/blacklight_advanced_search_styles.css.scss +4 -0
- data/app/controllers/blacklight_advanced_search/advanced_controller.rb +1 -1
- data/app/views/advanced/_advanced_search_facets_as_select.html.erb +7 -7
- data/app/views/advanced/_advanced_search_help.html.erb +8 -8
- data/app/views/advanced/_advanced_search_submit_btns.html.erb +3 -3
- data/app/views/advanced/_facet_limit.html.erb +4 -4
- data/app/views/advanced/index.html.erb +1 -1
- data/app/views/blacklight_advanced_search/_facet_limit.html.erb +7 -7
- data/blacklight_advanced_search.gemspec +4 -6
- data/lib/blacklight_advanced_search/advanced_search_builder.rb +1 -1
- data/lib/blacklight_advanced_search/engine.rb +0 -1
- data/lib/blacklight_advanced_search/parsing_nesting_parser.rb +1 -1
- data/lib/blacklight_advanced_search/render_constraints_override.rb +3 -3
- data/lib/generators/blacklight_advanced_search/install_generator.rb +2 -2
- data/solr/conf/schema.xml +326 -573
- data/solr/conf/solrconfig.xml +79 -294
- data/spec/features/blacklight_advanced_search_form_spec.rb +3 -3
- data/spec/lib/advanced_search_builder_spec.rb +0 -1
- data/spec/lib/blacklight_advanced_search/parsing_nesting_parser_spec.rb +20 -0
- data/spec/test_app_templates/app/controllers/catalog_controller.rb +4 -4
- metadata +14 -20
- data/solr/sample_solr_documents.yml +0 -2692
data/solr/conf/solrconfig.xml
CHANGED
@@ -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
|
-
|
26
|
-
|
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
|
-
<
|
37
|
-
class="${solr.directoryFactory:solr.NRTCachingDirectoryFactory}">
|
38
|
-
</directoryFactory>
|
7
|
+
<abortOnConfigurationError>${solr.abortOnConfigurationError:true}</abortOnConfigurationError>
|
39
8
|
|
40
|
-
<
|
9
|
+
<luceneMatchVersion>6.1.0</luceneMatchVersion>
|
41
10
|
|
42
|
-
<
|
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
|
-
|
46
|
-
|
47
|
-
<
|
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
|
-
|
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">
|
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<-1 5<-2 6<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
|
-
|
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
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
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
|
-
|
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
|
-
|
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.
|
218
|
-
<str name="facet.field">
|
219
|
-
<str name="facet.field">
|
220
|
-
<str name="facet.field">
|
221
|
-
|
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
|
-
|
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">{!
|
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
|
-
|
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
|
-
|
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
|
-
|
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-
|
37
|
+
expect(page).to have_selector('.blacklight-language_ssim')
|
38
38
|
|
39
|
-
within('.blacklight-
|
40
|
-
expect(page).to have_content "Language
|
39
|
+
within('.blacklight-language_ssim') do
|
40
|
+
expect(page).to have_content "Language Ssim"
|
41
41
|
end
|
42
42
|
end
|
43
43
|
end
|