blacklight-access_controls 6.0.0 → 6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/main.yml +31 -0
- data/.rubocop.yml +1 -4
- data/.rubocop_todo.yml +1 -1
- data/.solr_wrapper.yml +2 -0
- data/README.textile +3 -5
- data/Rakefile +2 -0
- data/VERSION +1 -1
- data/blacklight-access_controls.gemspec +4 -4
- data/lib/blacklight/access_controls/enforcement.rb +3 -2
- data/solr_conf/conf/_rest_managed.json +3 -0
- data/solr_conf/conf/admin-extra.html +12 -5
- data/solr_conf/conf/elevate.xml +1 -3
- data/solr_conf/conf/mapping-ISOLatin1Accent.txt +76 -76
- data/solr_conf/conf/schema.xml +257 -238
- data/solr_conf/conf/scripts.conf +24 -0
- data/solr_conf/conf/solrconfig.xml +104 -154
- data/solr_conf/conf/stopwords.txt +44 -0
- data/solr_conf/conf/{lang/stopwords_en.txt → stopwords_en.txt} +5 -1
- data/solr_conf/conf/synonyms.txt +5 -3
- data/solr_conf/conf/xslt/example.xsl +1 -1
- data/solr_conf/conf/xslt/example_atom.xsl +1 -1
- data/solr_conf/conf/xslt/example_rss.xsl +1 -1
- data/solr_conf/conf/xslt/luke.xsl +3 -3
- data/spec/factories/user.rb +1 -1
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +1 -1
- data/spec/unit/blacklight/access_controls/search_builder_spec.rb +3 -5
- metadata +15 -70
- data/.travis.yml +0 -18
- data/solr_conf/conf/abc123 +0 -0
- data/solr_conf/conf/admin-extra.menu-bottom.html +0 -25
- data/solr_conf/conf/admin-extra.menu-top.html +0 -25
- data/solr_conf/conf/clustering/carrot2/kmeans-attributes.xml +0 -19
- data/solr_conf/conf/clustering/carrot2/lingo-attributes.xml +0 -24
- data/solr_conf/conf/clustering/carrot2/stc-attributes.xml +0 -19
- data/solr_conf/conf/currency.xml +0 -67
- data/solr_conf/conf/dataimport.properties +0 -3
- data/solr_conf/conf/db-data-config.xml +0 -93
- data/solr_conf/conf/lang/contractions_ca.txt +0 -8
- data/solr_conf/conf/lang/contractions_fr.txt +0 -15
- data/solr_conf/conf/lang/contractions_ga.txt +0 -5
- data/solr_conf/conf/lang/contractions_it.txt +0 -23
- data/solr_conf/conf/lang/hyphenations_ga.txt +0 -5
- data/solr_conf/conf/lang/stemdict_nl.txt +0 -6
- data/solr_conf/conf/lang/stoptags_ja.txt +0 -420
- data/solr_conf/conf/lang/stopwords_ar.txt +0 -125
- data/solr_conf/conf/lang/stopwords_bg.txt +0 -193
- data/solr_conf/conf/lang/stopwords_ca.txt +0 -220
- data/solr_conf/conf/lang/stopwords_ckb.txt +0 -136
- data/solr_conf/conf/lang/stopwords_cz.txt +0 -172
- data/solr_conf/conf/lang/stopwords_da.txt +0 -110
- data/solr_conf/conf/lang/stopwords_de.txt +0 -294
- data/solr_conf/conf/lang/stopwords_el.txt +0 -78
- data/solr_conf/conf/lang/stopwords_es.txt +0 -356
- data/solr_conf/conf/lang/stopwords_eu.txt +0 -99
- data/solr_conf/conf/lang/stopwords_fa.txt +0 -313
- data/solr_conf/conf/lang/stopwords_fi.txt +0 -97
- data/solr_conf/conf/lang/stopwords_fr.txt +0 -186
- data/solr_conf/conf/lang/stopwords_ga.txt +0 -110
- data/solr_conf/conf/lang/stopwords_gl.txt +0 -161
- data/solr_conf/conf/lang/stopwords_hi.txt +0 -235
- data/solr_conf/conf/lang/stopwords_hu.txt +0 -211
- data/solr_conf/conf/lang/stopwords_hy.txt +0 -46
- data/solr_conf/conf/lang/stopwords_id.txt +0 -359
- data/solr_conf/conf/lang/stopwords_it.txt +0 -303
- data/solr_conf/conf/lang/stopwords_ja.txt +0 -127
- data/solr_conf/conf/lang/stopwords_lv.txt +0 -172
- data/solr_conf/conf/lang/stopwords_nl.txt +0 -119
- data/solr_conf/conf/lang/stopwords_no.txt +0 -194
- data/solr_conf/conf/lang/stopwords_pt.txt +0 -253
- data/solr_conf/conf/lang/stopwords_ro.txt +0 -233
- data/solr_conf/conf/lang/stopwords_ru.txt +0 -243
- data/solr_conf/conf/lang/stopwords_sv.txt +0 -133
- data/solr_conf/conf/lang/stopwords_th.txt +0 -119
- data/solr_conf/conf/lang/stopwords_tr.txt +0 -212
- data/solr_conf/conf/lang/userdict_ja.txt +0 -29
- data/solr_conf/conf/mapping-FoldToASCII.txt +0 -3813
- data/solr_conf/conf/solrconfig.adams.xml +0 -1903
- data/solr_conf/conf/solrconfig.old.xml +0 -1634
- data/solr_conf/conf/solrconfig.xml.orig +0 -3531
- data/solr_conf/conf/update-script.js +0 -53
- data/solr_conf/conf/xslt/updateXml.xsl +0 -70
data/solr_conf/conf/schema.xml
CHANGED
@@ -1,326 +1,196 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
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 the Solr schema file. This file should be named "schema.xml" and
|
21
|
-
should be in the conf directory under the solr home
|
22
|
-
(i.e. ./solr/conf/schema.xml by default)
|
23
|
-
or located where the classloader for the Solr webapp can find it.
|
24
|
-
|
25
|
-
This example schema is the recommended starting point for users.
|
26
|
-
It should be kept correct and concise, usable out-of-the-box.
|
27
|
-
|
28
|
-
For more information, on how to customize this file, please see
|
29
|
-
http://wiki.apache.org/solr/SchemaXml
|
30
|
-
|
31
|
-
PERFORMANCE NOTE: this schema includes many optional features and should not
|
32
|
-
be used for benchmarking. To improve performance one could
|
33
|
-
- set stored="false" for all fields possible (esp large fields) when you
|
34
|
-
only need to search on the field but don't need to return the original
|
35
|
-
value.
|
36
|
-
- set indexed="false" if you don't need to search on the field, but only
|
37
|
-
return the field as a result of searching on other indexed fields.
|
38
|
-
- remove all unneeded copyField statements
|
39
|
-
- for best index size and searching performance, set "index" to false
|
40
|
-
for all general text fields, use copyField to copy them to the
|
41
|
-
catchall "text" field, and use that for searching.
|
42
|
-
- For maximum indexing performance, use the StreamingUpdateSolrServer
|
43
|
-
java client.
|
44
|
-
- Remember to run the JVM in server mode, and use a higher logging level
|
45
|
-
that avoids logging every request
|
46
|
-
-->
|
47
|
-
|
48
|
-
<schema name="Hydra Demo Index" version="1.5">
|
49
|
-
<!-- attribute "name" is the name of this schema and is only used for display purposes.
|
50
|
-
Applications should change this to reflect the nature of the search collection.
|
51
|
-
version="1.4" is Solr's version number for the schema syntax and semantics. It should
|
52
|
-
not normally be changed by applications.
|
53
|
-
1.0: multiValued attribute did not exist, all fields are multiValued by nature
|
54
|
-
1.1: multiValued attribute introduced, false by default
|
55
|
-
1.2: omitTermFreqAndPositions attribute introduced, true by default except for text fields.
|
56
|
-
1.3: removed optional field compress feature
|
57
|
-
1.4: default auto-phrase (QueryParser feature) to off
|
58
|
-
-->
|
59
|
-
|
60
|
-
<types>
|
61
|
-
<fieldType name="string" class="solr.StrField" sortMissingLast="true" />
|
62
|
-
<fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/>
|
63
|
-
<fieldType name="rand" class="solr.RandomSortField" omitNorms="true"/>
|
64
|
-
|
65
|
-
<!-- Default numeric field types. -->
|
66
|
-
<fieldType name="int" class="solr.TrieIntField" precisionStep="0" positionIncrementGap="0"/>
|
67
|
-
<fieldType name="float" class="solr.TrieFloatField" precisionStep="0" positionIncrementGap="0"/>
|
68
|
-
<fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>
|
69
|
-
<fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" positionIncrementGap="0"/>
|
70
|
-
|
71
|
-
<!-- trie numeric field types for faster range queries -->
|
72
|
-
<fieldType name="tint" class="solr.TrieIntField" precisionStep="8" positionIncrementGap="0"/>
|
73
|
-
<fieldType name="tfloat" class="solr.TrieFloatField" precisionStep="8" positionIncrementGap="0"/>
|
74
|
-
<fieldType name="tlong" class="solr.TrieLongField" precisionStep="8" positionIncrementGap="0"/>
|
75
|
-
<fieldType name="tdouble" class="solr.TrieDoubleField" precisionStep="8" positionIncrementGap="0"/>
|
76
|
-
|
77
|
-
<!-- The format for this date field is of the form 1995-12-31T23:59:59Z
|
78
|
-
Optional fractional seconds are allowed: 1995-12-31T23:59:59.999Z
|
79
|
-
-->
|
80
|
-
<fieldType name="date" class="solr.TrieDateField" precisionStep="0" positionIncrementGap="0"/>
|
81
|
-
<!-- A Trie based date field for faster date range queries and date faceting. -->
|
82
|
-
<fieldType name="tdate" class="solr.TrieDateField" precisionStep="6" positionIncrementGap="0"/>
|
83
|
-
|
84
|
-
|
85
|
-
<!-- This point type indexes the coordinates as separate fields (subFields)
|
86
|
-
If subFieldType is defined, it references a type, and a dynamic field
|
87
|
-
definition is created matching *___<typename>. Alternately, if
|
88
|
-
subFieldSuffix is defined, that is used to create the subFields.
|
89
|
-
Example: if subFieldType="double", then the coordinates would be
|
90
|
-
indexed in fields myloc_0___double,myloc_1___double.
|
91
|
-
Example: if subFieldSuffix="_d" then the coordinates would be indexed
|
92
|
-
in fields myloc_0_d,myloc_1_d
|
93
|
-
The subFields are an implementation detail of the fieldType, and end
|
94
|
-
users normally should not need to know about them.
|
95
|
-
-->
|
96
|
-
<fieldType name="point" class="solr.PointType" dimension="2" subFieldSuffix="_d"/>
|
97
|
-
|
98
|
-
<!-- A specialized field for geospatial search. If indexed, this fieldType must not be multivalued. -->
|
99
|
-
<fieldType name="location" class="solr.LatLonType" subFieldSuffix="_coordinate"/>
|
100
|
-
|
101
|
-
<!-- An alternative geospatial field type new to Solr 4. It supports multiValued and polygon shapes.
|
102
|
-
For more information about this and other Spatial fields new to Solr 4, see:
|
103
|
-
http://wiki.apache.org/solr/SolrAdaptersForLuceneSpatial4
|
104
|
-
-->
|
105
|
-
<fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType"
|
106
|
-
geo="true" distErrPct="0.025" maxDistErr="0.000009" distanceUnits="degrees" />
|
107
|
-
|
108
|
-
<fieldType name="text" class="solr.TextField" omitNorms="false">
|
109
|
-
<analyzer>
|
110
|
-
<tokenizer class="solr.ICUTokenizerFactory"/>
|
111
|
-
<filter class="solr.ICUFoldingFilterFactory"/> <!-- NFKC, case folding, diacritics removed -->
|
112
|
-
<filter class="solr.TrimFilterFactory"/>
|
113
|
-
</analyzer>
|
114
|
-
</fieldType>
|
115
|
-
|
116
|
-
<!-- A text field that only splits on whitespace for exact matching of words -->
|
117
|
-
<fieldType name="text_ws" class="solr.TextField" positionIncrementGap="100">
|
118
|
-
<analyzer>
|
119
|
-
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
|
120
|
-
<filter class="solr.TrimFilterFactory"/>
|
121
|
-
</analyzer>
|
122
|
-
</fieldType>
|
123
|
-
|
124
|
-
<!-- single token analyzed text, for sorting. Punctuation is significant. -->
|
125
|
-
<fieldtype name="alphaSort" class="solr.TextField" sortMissingLast="true" omitNorms="true">
|
126
|
-
<analyzer>
|
127
|
-
<tokenizer class="solr.KeywordTokenizerFactory" />
|
128
|
-
<filter class="solr.ICUFoldingFilterFactory"/>
|
129
|
-
<filter class="solr.TrimFilterFactory" />
|
130
|
-
</analyzer>
|
131
|
-
</fieldtype>
|
132
|
-
|
133
|
-
<!-- A text field with defaults appropriate for English -->
|
134
|
-
<fieldType name="text_en" class="solr.TextField" positionIncrementGap="100">
|
135
|
-
<analyzer>
|
136
|
-
<tokenizer class="solr.ICUTokenizerFactory"/>
|
137
|
-
<filter class="solr.ICUFoldingFilterFactory"/> <!-- NFKC, case folding, diacritics removed -->
|
138
|
-
<filter class="solr.EnglishPossessiveFilterFactory"/>
|
139
|
-
<!-- EnglishMinimalStemFilterFactory is less aggressive than PorterStemFilterFactory: -->
|
140
|
-
<filter class="solr.EnglishMinimalStemFilterFactory"/>
|
141
|
-
<!--
|
142
|
-
<filter class="solr.PorterStemFilterFactory"/>
|
143
|
-
-->
|
144
|
-
<filter class="solr.TrimFilterFactory"/>
|
145
|
-
</analyzer>
|
146
|
-
</fieldType>
|
147
|
-
|
148
|
-
<!-- queries for paths match documents at that path, or in descendent paths -->
|
149
|
-
<fieldType name="descendent_path" class="solr.TextField">
|
150
|
-
<analyzer type="index">
|
151
|
-
<tokenizer class="solr.PathHierarchyTokenizerFactory" delimiter="/" />
|
152
|
-
</analyzer>
|
153
|
-
<analyzer type="query">
|
154
|
-
<tokenizer class="solr.KeywordTokenizerFactory" />
|
155
|
-
</analyzer>
|
156
|
-
</fieldType>
|
157
|
-
|
158
|
-
<!-- queries for paths match documents at that path, or in ancestor paths -->
|
159
|
-
<fieldType name="ancestor_path" class="solr.TextField">
|
160
|
-
<analyzer type="index">
|
161
|
-
<tokenizer class="solr.KeywordTokenizerFactory" />
|
162
|
-
</analyzer>
|
163
|
-
<analyzer type="query">
|
164
|
-
<tokenizer class="solr.PathHierarchyTokenizerFactory" delimiter="/" />
|
165
|
-
</analyzer>
|
166
|
-
</fieldType>
|
167
|
-
|
168
|
-
<fieldType class="solr.TextField" name="textSuggest" positionIncrementGap="100">
|
169
|
-
<analyzer>
|
170
|
-
<tokenizer class="solr.KeywordTokenizerFactory"/>
|
171
|
-
<filter class="solr.StandardFilterFactory"/>
|
172
|
-
<filter class="solr.LowerCaseFilterFactory"/>
|
173
|
-
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
|
174
|
-
</analyzer>
|
175
|
-
</fieldType>
|
176
|
-
</types>
|
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 -->
|
177
6
|
|
7
|
+
<uniqueKey>id</uniqueKey>
|
178
8
|
|
179
9
|
<fields>
|
180
|
-
<!-- If you remove this field, you must _also_ disable the update log in solrconfig.xml
|
181
|
-
or Solr won't start. _version_ and update log are required for SolrCloud
|
182
|
-
-->
|
183
|
-
<field name="_version_" type="long" indexed="true" stored="true"/>
|
184
|
-
|
185
10
|
<field name="id" type="string" stored="true" indexed="true" multiValued="false" required="true"/>
|
11
|
+
<field name="format" type="string" stored="true" indexed="true" multiValued="true" />
|
12
|
+
<field name="_version_" type="long" indexed="true" stored="true"/>
|
186
13
|
<field name="timestamp" type="date" indexed="true" stored="true" default="NOW" multiValued="false"/>
|
187
|
-
|
14
|
+
|
188
15
|
<field name="lat" type="tdouble" stored="true" indexed="true" multiValued="false"/>
|
189
16
|
<field name="lng" type="tdouble" stored="true" indexed="true" multiValued="false"/>
|
190
|
-
|
191
17
|
<!-- NOTE: not all possible Solr field types are represented in the dynamic fields -->
|
192
18
|
|
193
19
|
<!-- text (_t...) -->
|
20
|
+
|
194
21
|
<dynamicField name="*_ti" type="text" stored="false" indexed="true" multiValued="false"/>
|
195
22
|
<dynamicField name="*_tim" type="text" stored="false" indexed="true" multiValued="true"/>
|
23
|
+
|
196
24
|
<dynamicField name="*_ts" type="text" stored="true" indexed="false" multiValued="false"/>
|
197
25
|
<dynamicField name="*_tsm" type="text" stored="true" indexed="false" multiValued="true"/>
|
198
26
|
<dynamicField name="*_tsi" type="text" stored="true" indexed="true" multiValued="false"/>
|
199
27
|
<dynamicField name="*_tsim" type="text" stored="true" indexed="true" multiValued="true"/>
|
28
|
+
|
200
29
|
<dynamicField name="*_tiv" type="text" stored="false" indexed="true" multiValued="false" termVectors="true" termPositions="true" termOffsets="true"/>
|
201
30
|
<dynamicField name="*_timv" type="text" stored="false" indexed="true" multiValued="true" termVectors="true" termPositions="true" termOffsets="true"/>
|
31
|
+
|
202
32
|
<dynamicField name="*_tsiv" type="text" stored="true" indexed="true" multiValued="false" termVectors="true" termPositions="true" termOffsets="true"/>
|
203
33
|
<dynamicField name="*_tsimv" type="text" stored="true" indexed="true" multiValued="true" termVectors="true" termPositions="true" termOffsets="true"/>
|
204
|
-
|
34
|
+
|
205
35
|
<!-- English text (_te...) -->
|
36
|
+
|
206
37
|
<dynamicField name="*_tei" type="text_en" stored="false" indexed="true" multiValued="false"/>
|
207
38
|
<dynamicField name="*_teim" type="text_en" stored="false" indexed="true" multiValued="true"/>
|
39
|
+
|
208
40
|
<dynamicField name="*_tes" type="text_en" stored="true" indexed="false" multiValued="false"/>
|
209
41
|
<dynamicField name="*_tesm" type="text_en" stored="true" indexed="false" multiValued="true"/>
|
210
42
|
<dynamicField name="*_tesi" type="text_en" stored="true" indexed="true" multiValued="false"/>
|
211
43
|
<dynamicField name="*_tesim" type="text_en" stored="true" indexed="true" multiValued="true"/>
|
44
|
+
|
212
45
|
<dynamicField name="*_teiv" type="text_en" stored="false" indexed="true" multiValued="false" termVectors="true" termPositions="true" termOffsets="true"/>
|
213
46
|
<dynamicField name="*_teimv" type="text_en" stored="false" indexed="true" multiValued="true" termVectors="true" termPositions="true" termOffsets="true"/>
|
47
|
+
|
214
48
|
<dynamicField name="*_tesiv" type="text_en" stored="true" indexed="true" multiValued="false" termVectors="true" termPositions="true" termOffsets="true"/>
|
215
49
|
<dynamicField name="*_tesimv" type="text_en" stored="true" indexed="true" multiValued="true" termVectors="true" termPositions="true" termOffsets="true"/>
|
216
|
-
|
50
|
+
|
217
51
|
<!-- string (_s...) -->
|
52
|
+
|
218
53
|
<dynamicField name="*_si" type="string" stored="false" indexed="true" multiValued="false"/>
|
219
54
|
<dynamicField name="*_sim" type="string" stored="false" indexed="true" multiValued="true"/>
|
55
|
+
|
220
56
|
<dynamicField name="*_ss" type="string" stored="true" indexed="false" multiValued="false"/>
|
221
57
|
<dynamicField name="*_ssm" type="string" stored="true" indexed="false" multiValued="true"/>
|
222
58
|
<dynamicField name="*_ssi" type="string" stored="true" indexed="true" multiValued="false"/>
|
223
59
|
<dynamicField name="*_ssim" type="string" stored="true" indexed="true" multiValued="true"/>
|
60
|
+
|
224
61
|
<dynamicField name="*_ssort" type="alphaSort" stored="false" indexed="true" multiValued="false"/>
|
225
|
-
|
62
|
+
|
63
|
+
|
226
64
|
<!-- integer (_i...) -->
|
65
|
+
|
227
66
|
<dynamicField name="*_ii" type="int" stored="false" indexed="true" multiValued="false"/>
|
228
67
|
<dynamicField name="*_iim" type="int" stored="false" indexed="true" multiValued="true"/>
|
68
|
+
|
229
69
|
<dynamicField name="*_is" type="int" stored="true" indexed="false" multiValued="false"/>
|
230
70
|
<dynamicField name="*_ism" type="int" stored="true" indexed="false" multiValued="true"/>
|
231
71
|
<dynamicField name="*_isi" type="int" stored="true" indexed="true" multiValued="false"/>
|
232
72
|
<dynamicField name="*_isim" type="int" stored="true" indexed="true" multiValued="true"/>
|
233
|
-
|
234
|
-
<!--
|
73
|
+
|
74
|
+
<!-- IntegerPointField (_it...) (for faster range queries) -->
|
75
|
+
|
235
76
|
<dynamicField name="*_iti" type="tint" stored="false" indexed="true" multiValued="false"/>
|
236
77
|
<dynamicField name="*_itim" type="tint" stored="false" indexed="true" multiValued="true"/>
|
78
|
+
|
237
79
|
<dynamicField name="*_its" type="tint" stored="true" indexed="false" multiValued="false"/>
|
238
80
|
<dynamicField name="*_itsm" type="tint" stored="true" indexed="false" multiValued="true"/>
|
239
81
|
<dynamicField name="*_itsi" type="tint" stored="true" indexed="true" multiValued="false"/>
|
240
82
|
<dynamicField name="*_itsim" type="tint" stored="true" indexed="true" multiValued="true"/>
|
241
|
-
|
83
|
+
|
242
84
|
<!-- date (_dt...) -->
|
243
85
|
<!-- The format for this date field is of the form 1995-12-31T23:59:59Z
|
244
86
|
Optional fractional seconds are allowed: 1995-12-31T23:59:59.999Z -->
|
87
|
+
|
245
88
|
<dynamicField name="*_dti" type="date" stored="false" indexed="true" multiValued="false"/>
|
246
89
|
<dynamicField name="*_dtim" type="date" stored="false" indexed="true" multiValued="true"/>
|
90
|
+
|
247
91
|
<dynamicField name="*_dts" type="date" stored="true" indexed="false" multiValued="false"/>
|
248
92
|
<dynamicField name="*_dtsm" type="date" stored="true" indexed="false" multiValued="true"/>
|
249
93
|
<dynamicField name="*_dtsi" type="date" stored="true" indexed="true" multiValued="false"/>
|
250
94
|
<dynamicField name="*_dtsim" type="date" stored="true" indexed="true" multiValued="true"/>
|
251
|
-
|
252
|
-
<!--
|
95
|
+
|
96
|
+
<!-- DatePointField (_dtt...) (for faster range queries) -->
|
97
|
+
|
253
98
|
<dynamicField name="*_dtti" type="tdate" stored="false" indexed="true" multiValued="false"/>
|
254
99
|
<dynamicField name="*_dttim" type="tdate" stored="false" indexed="true" multiValued="true"/>
|
100
|
+
|
255
101
|
<dynamicField name="*_dtts" type="tdate" stored="true" indexed="false" multiValued="false"/>
|
256
102
|
<dynamicField name="*_dttsm" type="tdate" stored="true" indexed="false" multiValued="true"/>
|
257
103
|
<dynamicField name="*_dttsi" type="tdate" stored="true" indexed="true" multiValued="false"/>
|
258
104
|
<dynamicField name="*_dttsim" type="tdate" stored="true" indexed="true" multiValued="true"/>
|
259
|
-
|
105
|
+
|
260
106
|
<!-- long (_l...) -->
|
107
|
+
|
261
108
|
<dynamicField name="*_li" type="long" stored="false" indexed="true" multiValued="false"/>
|
262
109
|
<dynamicField name="*_lim" type="long" stored="false" indexed="true" multiValued="true"/>
|
110
|
+
|
263
111
|
<dynamicField name="*_ls" type="long" stored="true" indexed="false" multiValued="false"/>
|
264
112
|
<dynamicField name="*_lsm" type="long" stored="true" indexed="false" multiValued="true"/>
|
265
113
|
<dynamicField name="*_lsi" type="long" stored="true" indexed="true" multiValued="false"/>
|
266
114
|
<dynamicField name="*_lsim" type="long" stored="true" indexed="true" multiValued="true"/>
|
267
|
-
|
268
|
-
<!--
|
115
|
+
|
116
|
+
<!-- LongPointField (_lt...) (for faster range queries) -->
|
117
|
+
|
269
118
|
<dynamicField name="*_lti" type="tlong" stored="false" indexed="true" multiValued="false"/>
|
270
119
|
<dynamicField name="*_ltim" type="tlong" stored="false" indexed="true" multiValued="true"/>
|
120
|
+
|
271
121
|
<dynamicField name="*_lts" type="tlong" stored="true" indexed="false" multiValued="false"/>
|
272
122
|
<dynamicField name="*_ltsm" type="tlong" stored="true" indexed="false" multiValued="true"/>
|
273
123
|
<dynamicField name="*_ltsi" type="tlong" stored="true" indexed="true" multiValued="false"/>
|
274
124
|
<dynamicField name="*_ltsim" type="tlong" stored="true" indexed="true" multiValued="true"/>
|
275
|
-
|
125
|
+
|
276
126
|
<!-- double (_db...) -->
|
127
|
+
|
277
128
|
<dynamicField name="*_dbi" type="double" stored="false" indexed="true" multiValued="false"/>
|
278
129
|
<dynamicField name="*_dbim" type="double" stored="false" indexed="true" multiValued="true"/>
|
130
|
+
|
279
131
|
<dynamicField name="*_dbs" type="double" stored="true" indexed="false" multiValued="false"/>
|
280
132
|
<dynamicField name="*_dbsm" type="double" stored="true" indexed="false" multiValued="true"/>
|
281
133
|
<dynamicField name="*_dbsi" type="double" stored="true" indexed="true" multiValued="false"/>
|
282
134
|
<dynamicField name="*_dbsim" type="double" stored="true" indexed="true" multiValued="true"/>
|
283
|
-
|
284
|
-
<!--
|
135
|
+
|
136
|
+
<!-- DoublePointField (_dbt...) (for faster range queries) -->
|
137
|
+
|
285
138
|
<dynamicField name="*_dbti" type="tdouble" stored="false" indexed="true" multiValued="false"/>
|
286
139
|
<dynamicField name="*_dbtim" type="tdouble" stored="false" indexed="true" multiValued="true"/>
|
140
|
+
|
287
141
|
<dynamicField name="*_dbts" type="tdouble" stored="true" indexed="false" multiValued="false"/>
|
288
142
|
<dynamicField name="*_dbtsm" type="tdouble" stored="true" indexed="false" multiValued="true"/>
|
289
143
|
<dynamicField name="*_dbtsi" type="tdouble" stored="true" indexed="true" multiValued="false"/>
|
290
144
|
<dynamicField name="*_dbtsim" type="tdouble" stored="true" indexed="true" multiValued="true"/>
|
291
|
-
|
145
|
+
|
292
146
|
<!-- float (_f...) -->
|
147
|
+
|
293
148
|
<dynamicField name="*_fi" type="float" stored="false" indexed="true" multiValued="false"/>
|
294
149
|
<dynamicField name="*_fim" type="float" stored="false" indexed="true" multiValued="true"/>
|
150
|
+
|
295
151
|
<dynamicField name="*_fs" type="float" stored="true" indexed="false" multiValued="false"/>
|
296
152
|
<dynamicField name="*_fsm" type="float" stored="true" indexed="false" multiValued="true"/>
|
297
153
|
<dynamicField name="*_fsi" type="float" stored="true" indexed="true" multiValued="false"/>
|
298
154
|
<dynamicField name="*_fsim" type="float" stored="true" indexed="true" multiValued="true"/>
|
299
|
-
|
300
|
-
<!--
|
155
|
+
|
156
|
+
<!-- FloatPointField (_ft...) (for faster range queries) -->
|
157
|
+
|
301
158
|
<dynamicField name="*_fti" type="tfloat" stored="false" indexed="true" multiValued="false"/>
|
302
159
|
<dynamicField name="*_ftim" type="tfloat" stored="false" indexed="true" multiValued="true"/>
|
160
|
+
|
303
161
|
<dynamicField name="*_fts" type="tfloat" stored="true" indexed="false" multiValued="false"/>
|
304
162
|
<dynamicField name="*_ftsm" type="tfloat" stored="true" indexed="false" multiValued="true"/>
|
305
163
|
<dynamicField name="*_ftsi" type="tfloat" stored="true" indexed="true" multiValued="false"/>
|
306
164
|
<dynamicField name="*_ftsim" type="tfloat" stored="true" indexed="true" multiValued="true"/>
|
307
|
-
|
165
|
+
|
308
166
|
<!-- boolean (_b...) -->
|
167
|
+
|
309
168
|
<dynamicField name="*_bi" type="boolean" stored="false" indexed="true" multiValued="false"/>
|
169
|
+
|
310
170
|
<dynamicField name="*_bs" type="boolean" stored="true" indexed="false" multiValued="false"/>
|
311
171
|
<dynamicField name="*_bsi" type="boolean" stored="true" indexed="true" multiValued="false"/>
|
312
|
-
|
172
|
+
|
313
173
|
<!-- Type used to index the lat and lon components for the "location" FieldType -->
|
174
|
+
|
314
175
|
<dynamicField name="*_coordinate" type="tdouble" indexed="true" stored="false" />
|
315
176
|
|
177
|
+
|
316
178
|
<!-- location (_ll...) -->
|
179
|
+
|
317
180
|
<dynamicField name="*_lli" type="location" stored="false" indexed="true" multiValued="false"/>
|
318
181
|
<dynamicField name="*_llim" type="location" stored="false" indexed="true" multiValued="true"/>
|
182
|
+
|
319
183
|
<dynamicField name="*_lls" type="location" stored="true" indexed="false" multiValued="false"/>
|
320
184
|
<dynamicField name="*_llsm" type="location" stored="true" indexed="false" multiValued="true"/>
|
321
185
|
<dynamicField name="*_llsi" type="location" stored="true" indexed="true" multiValued="false"/>
|
322
186
|
<dynamicField name="*_llsim" type="location" stored="true" indexed="true" multiValued="true"/>
|
323
187
|
|
188
|
+
<dynamicField name="*_srpt" type="location_rpt" stored="true" indexed="true" multiValued="true" />
|
189
|
+
<dynamicField name="*_bbox" type="bbox" stored="true" indexed="true" />
|
190
|
+
|
191
|
+
|
192
|
+
<!-- suggest and spelling -->
|
193
|
+
<dynamicField name="*spell" type="textSpell" indexed="true" stored="false" multiValued="true" />
|
324
194
|
<dynamicField name="*suggest" type="textSuggest" indexed="true" stored="false" multiValued="true" />
|
325
195
|
|
326
196
|
<!-- you must define copyField source and dest fields explicity or schemaBrowser doesn't work -->
|
@@ -329,41 +199,190 @@
|
|
329
199
|
|
330
200
|
</fields>
|
331
201
|
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
202
|
+
|
203
|
+
<!-- Above, multiple source fields are copied to the [text] field.
|
204
|
+
Another way to map multiple source fields to the same
|
205
|
+
destination field is to use the dynamic field syntax.
|
206
|
+
copyField also supports a maxChars to copy setting. -->
|
207
|
+
|
208
|
+
<copyField source="*_tsim" dest="all_text_timv" maxChars="3000"/>
|
209
|
+
<copyField source="*_tesim" dest="all_text_timv" maxChars="3000"/>
|
210
|
+
<copyField source="*_ssim" dest="all_text_timv" maxChars="3000"/>
|
211
|
+
<copyField source="*_si" dest="all_text_timv" maxChars="3000"/>
|
212
|
+
|
213
|
+
<copyField source="*_tsim" dest="suggest"/>
|
214
|
+
<copyField source="*_tesim" dest="suggest"/>
|
215
|
+
<copyField source="*_ssim" dest="suggest"/>
|
216
|
+
<copyField source="*_si" dest="suggest"/>
|
217
|
+
|
218
|
+
<!-- TODO: Look into if these are actually being used. -->
|
219
|
+
<copyField source="*_tsim" dest="spell"/>
|
220
|
+
<copyField source="*_tesim" dest="spell"/>
|
221
|
+
<copyField source="*_ssim" dest="spell"/>
|
222
|
+
<copyField source="*_si" dest="spell"/>
|
223
|
+
|
224
|
+
<copyField source="author_tsim" dest="author_spell"/>
|
225
|
+
<copyField source="subject_ssim" dest="subject_spell"/>
|
226
|
+
<copyField source="title_tsim" dest="title_spell"/>
|
227
|
+
|
228
|
+
<types>
|
229
|
+
<fieldType name="string" class="solr.StrField" sortMissingLast="true" />
|
230
|
+
<fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/>
|
231
|
+
<fieldType name="rand" class="solr.RandomSortField" omitNorms="true"/>
|
232
|
+
|
233
|
+
<!-- Default numeric field types. -->
|
234
|
+
<fieldType name="int" class="solr.IntPointField" docValues="true"/>
|
235
|
+
<fieldType name="float" class="solr.FloatPointField" docValues="true"/>
|
236
|
+
<fieldType name="long" class="solr.LongPointField" docValues="true"/>
|
237
|
+
<fieldType name="double" class="solr.DoublePointField" docValues="true"/>
|
238
|
+
|
239
|
+
<!-- PointField numeric field types for faster range queries -->
|
240
|
+
<fieldType name="tint" class="solr.IntPointField" docValues="true"/>
|
241
|
+
<fieldType name="tfloat" class="solr.FloatPointField" docValues="true"/>
|
242
|
+
<fieldType name="tlong" class="solr.LongPointField" docValues="true"/>
|
243
|
+
<fieldType name="tdouble" class="solr.DoublePointField" docValues="true"/>
|
244
|
+
|
245
|
+
<!-- The format for this date field is of the form 1995-12-31T23:59:59Z
|
246
|
+
Optional fractional seconds are allowed: 1995-12-31T23:59:59.999Z
|
247
|
+
-->
|
248
|
+
<fieldType name="date" class="solr.DatePointField" docValues="true"/>
|
249
|
+
<!-- A PointField based date field for faster date range queries and date faceting. -->
|
250
|
+
<fieldType name="tdate" class="solr.DatePointField" docValues="true"/>
|
251
|
+
|
252
|
+
|
253
|
+
<!-- This point type indexes the coordinates as separate fields (subFields)
|
254
|
+
If subFieldType is defined, it references a type, and a dynamic field
|
255
|
+
definition is created matching *___<typename>. Alternately, if
|
256
|
+
subFieldSuffix is defined, that is used to create the subFields.
|
257
|
+
Example: if subFieldType="double", then the coordinates would be
|
258
|
+
indexed in fields myloc_0___double,myloc_1___double.
|
259
|
+
Example: if subFieldSuffix="_d" then the coordinates would be indexed
|
260
|
+
in fields myloc_0_d,myloc_1_d
|
261
|
+
The subFields are an implementation detail of the fieldType, and end
|
262
|
+
users normally should not need to know about them.
|
263
|
+
-->
|
264
|
+
<fieldType name="point" class="solr.PointType" dimension="2" subFieldSuffix="_d"/>
|
265
|
+
|
266
|
+
<!-- A specialized field for geospatial search filters and distance sorting. -->
|
267
|
+
<fieldType name="location" class="solr.LatLonPointSpatialField" docValues="true"/>
|
268
|
+
|
269
|
+
<!-- An alternative geospatial field type new to Solr 4. It supports multiValued and polygon shapes.
|
270
|
+
For more information about this and other Spatial fields new to Solr 4, see:
|
271
|
+
http://wiki.apache.org/solr/SolrAdaptersForLuceneSpatial4
|
272
|
+
-->
|
273
|
+
<fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType"
|
274
|
+
geo="true" distErrPct="0.025" maxDistErr="0.001" distanceUnits="kilometers"/>
|
275
|
+
|
276
|
+
<field name="bbox" type="bbox" />
|
277
|
+
<fieldType name="bbox" class="solr.BBoxField"
|
278
|
+
geo="true" distanceUnits="kilometers" numberType="_bbox_coord" storeSubFields="false"/>
|
279
|
+
<fieldType name="_bbox_coord" class="solr.DoublePointField" docValues="true" stored="false"/>
|
280
|
+
|
281
|
+
<fieldType name="text" class="solr.TextField" omitNorms="false">
|
282
|
+
<analyzer>
|
283
|
+
<tokenizer class="solr.ICUTokenizerFactory"/>
|
284
|
+
<filter class="solr.ICUFoldingFilterFactory"/> <!-- NFKC, case folding, diacritics removed -->
|
285
|
+
<filter class="solr.TrimFilterFactory"/>
|
286
|
+
</analyzer>
|
287
|
+
</fieldType>
|
288
|
+
|
289
|
+
<!-- A text field that only splits on whitespace for exact matching of words -->
|
290
|
+
<fieldType name="text_ws" class="solr.TextField" positionIncrementGap="100">
|
291
|
+
<analyzer>
|
292
|
+
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
|
293
|
+
<filter class="solr.TrimFilterFactory"/>
|
294
|
+
</analyzer>
|
295
|
+
</fieldType>
|
296
|
+
|
297
|
+
<!-- single token analyzed text, for sorting. Punctuation is significant. -->
|
298
|
+
<fieldtype name="alphaSort" class="solr.TextField" sortMissingLast="true" omitNorms="true">
|
299
|
+
<analyzer>
|
300
|
+
<tokenizer class="solr.KeywordTokenizerFactory" />
|
301
|
+
<filter class="solr.ICUFoldingFilterFactory"/>
|
302
|
+
<filter class="solr.TrimFilterFactory" />
|
303
|
+
</analyzer>
|
304
|
+
</fieldtype>
|
305
|
+
|
306
|
+
<!-- A text field with defaults appropriate for English -->
|
307
|
+
<fieldType name="text_en" class="solr.TextField" positionIncrementGap="100">
|
308
|
+
<analyzer>
|
309
|
+
<tokenizer class="solr.ICUTokenizerFactory"/>
|
310
|
+
<filter class="solr.ICUFoldingFilterFactory"/> <!-- NFKC, case folding, diacritics removed -->
|
311
|
+
<filter class="solr.EnglishPossessiveFilterFactory"/>
|
312
|
+
<!-- EnglishMinimalStemFilterFactory is less aggressive than PorterStemFilterFactory: -->
|
313
|
+
<filter class="solr.EnglishMinimalStemFilterFactory"/>
|
314
|
+
<!--
|
315
|
+
<filter class="solr.PorterStemFilterFactory"/>
|
316
|
+
-->
|
317
|
+
<filter class="solr.TrimFilterFactory"/>
|
318
|
+
</analyzer>
|
319
|
+
</fieldType>
|
320
|
+
|
321
|
+
<!-- A text field with defaults appropriate for English an NGrams -->
|
322
|
+
<fieldType name="text_en_ng" class="solr.TextField" positionIncrementGap="100">
|
323
|
+
<analyzer type="index">
|
324
|
+
<tokenizer class="solr.ICUTokenizerFactory"/>
|
325
|
+
<filter class="solr.ICUFoldingFilterFactory"/> <!-- NFKC, case folding, diacritics removed -->
|
326
|
+
<filter class="solr.EnglishPossessiveFilterFactory"/>
|
327
|
+
<!-- EnglishMinimalStemFilterFactory is less aggressive than PorterStemFilterFactory: -->
|
328
|
+
<filter class="solr.EnglishMinimalStemFilterFactory"/>
|
329
|
+
<filter class="solr.TrimFilterFactory"/>
|
330
|
+
<filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="15" />
|
331
|
+
</analyzer>
|
332
|
+
|
333
|
+
<analyzer type="index">
|
334
|
+
<tokenizer class="solr.ICUTokenizerFactory"/>
|
335
|
+
<filter class="solr.ICUFoldingFilterFactory"/> <!-- NFKC, case folding, diacritics removed -->
|
336
|
+
<filter class="solr.EnglishPossessiveFilterFactory"/>
|
337
|
+
<!-- EnglishMinimalStemFilterFactory is less aggressive than PorterStemFilterFactory: -->
|
338
|
+
<filter class="solr.EnglishMinimalStemFilterFactory"/>
|
339
|
+
<filter class="solr.TrimFilterFactory"/>
|
340
|
+
</analyzer>
|
341
|
+
</fieldType>
|
342
|
+
|
343
|
+
<fieldType name="pid_text" class="solr.TextField" positionIncrementGap="100">
|
344
|
+
<analyzer>
|
345
|
+
<tokenizer class="solr.KeywordTokenizerFactory"/>
|
346
|
+
</analyzer>
|
347
|
+
</fieldType>
|
348
|
+
|
349
|
+
<fieldType name="textSpell" class="solr.TextField" positionIncrementGap="100" >
|
350
|
+
<analyzer>
|
351
|
+
<tokenizer class="solr.StandardTokenizerFactory"/>
|
352
|
+
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
|
353
|
+
<filter class="solr.LowerCaseFilterFactory"/>
|
354
|
+
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
|
355
|
+
</analyzer>
|
356
|
+
</fieldType>
|
357
|
+
|
358
|
+
<fieldType name="textSuggest" class="solr.TextField" positionIncrementGap="100">
|
359
|
+
<analyzer>
|
360
|
+
<tokenizer class="solr.KeywordTokenizerFactory"/>
|
361
|
+
<filter class="solr.LowerCaseFilterFactory"/>
|
362
|
+
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
|
363
|
+
</analyzer>
|
364
|
+
</fieldType>
|
365
|
+
|
366
|
+
<!-- queries for paths match documents at that path, or in descendent paths -->
|
367
|
+
<fieldType name="descendent_path" class="solr.TextField">
|
368
|
+
<analyzer type="index">
|
369
|
+
<tokenizer class="solr.PathHierarchyTokenizerFactory" delimiter="/" />
|
370
|
+
</analyzer>
|
371
|
+
<analyzer type="query">
|
372
|
+
<tokenizer class="solr.KeywordTokenizerFactory" />
|
373
|
+
</analyzer>
|
374
|
+
</fieldType>
|
375
|
+
|
376
|
+
<!-- queries for paths match documents at that path, or in ancestor paths -->
|
377
|
+
<fieldType name="ancestor_path" class="solr.TextField">
|
378
|
+
<analyzer type="index">
|
379
|
+
<tokenizer class="solr.KeywordTokenizerFactory" />
|
380
|
+
</analyzer>
|
381
|
+
<analyzer type="query">
|
382
|
+
<tokenizer class="solr.PathHierarchyTokenizerFactory" delimiter="/" />
|
383
|
+
</analyzer>
|
384
|
+
</fieldType>
|
385
|
+
|
386
|
+
</types>
|
368
387
|
|
369
388
|
</schema>
|