geoblacklight 1.0.0.pre1 → 1.0.0.pre2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/geoblacklight/geoblacklight.js +1 -1
- data/app/assets/javascripts/geoblacklight/viewers/map.js +9 -3
- data/app/assets/javascripts/geoblacklight/viewers/viewer.js +12 -0
- data/app/assets/javascripts/geoblacklight/viewers/wms.js +2 -1
- data/app/views/catalog/_document_split.html.erb +1 -1
- data/app/views/catalog/_home_text.html.erb +1 -1
- data/lib/generators/geoblacklight/templates/settings.yml +1 -0
- data/lib/geoblacklight/version.rb +1 -1
- data/lib/tasks/configure_solr.rake +9 -18
- data/schema/geoblacklight-schema.md +31 -0
- data/schema/solr/conf/schema.xml +158 -0
- data/schema/solr/conf/solrconfig.xml +180 -0
- metadata +4 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3bcfdae95fc9d77f59fca94cb057b718bdf45570
|
4
|
+
data.tar.gz: 9fc80b4fe006b4ae6ccc6a5e7a3302b68219ac92
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 808d31fb7c6ad514803cb467f95bb8fff70257980d9e04586843cafacf67be910fbadcf1b1b19901a8c688e231eab4a4699d839ba77d0dc9296aa2c2ba124f9c
|
7
|
+
data.tar.gz: 6e487c29f72344eccffc94fad3eeef8b43ab0c3411eeaf8479b3b80893b56ffe7566210709c04919861409ab70f519f51bcc1c0469c80d29c22e5597e7cb83fa
|
@@ -47,14 +47,20 @@ GeoBlacklight.Viewer.Map = GeoBlacklight.Viewer.extend({
|
|
47
47
|
},
|
48
48
|
|
49
49
|
/**
|
50
|
-
* Selects basemap if specified in data options, if not return
|
50
|
+
* Selects basemap if specified in data options, if not return positron.
|
51
51
|
*/
|
52
52
|
selectBasemap: function() {
|
53
53
|
var _this = this;
|
54
|
+
var basemap;
|
55
|
+
|
54
56
|
if (_this.data.basemap) {
|
55
|
-
|
57
|
+
basemap = GeoBlacklight.Basemaps[_this.data.basemap];
|
56
58
|
} else {
|
57
|
-
|
59
|
+
basemap = _this.basemap.positron;
|
58
60
|
}
|
61
|
+
|
62
|
+
// Use value from app settings to set the detect retina option.
|
63
|
+
basemap.options.detectRetina = _this.detectRetina();
|
64
|
+
return basemap;
|
59
65
|
}
|
60
66
|
});
|
@@ -51,5 +51,17 @@ GeoBlacklight.Viewer = L.Class.extend({
|
|
51
51
|
**/
|
52
52
|
controlPreload: function() {
|
53
53
|
return;
|
54
|
+
},
|
55
|
+
|
56
|
+
/**
|
57
|
+
* Gets the value of detect retina from application settings.
|
58
|
+
**/
|
59
|
+
detectRetina: function() {
|
60
|
+
var options = this.data.leafletOptions;
|
61
|
+
if (options && options.LAYERS) {
|
62
|
+
return options.LAYERS.DETECT_RETINA ? options.LAYERS.DETECT_RETINA : false;
|
63
|
+
} else {
|
64
|
+
return false;
|
65
|
+
}
|
54
66
|
}
|
55
67
|
});
|
@@ -17,6 +17,7 @@ GeoBlacklight.Viewer.Wms = GeoBlacklight.Viewer.Map.extend({
|
|
17
17
|
},
|
18
18
|
|
19
19
|
addPreviewLayer: function() {
|
20
|
+
var _this = this;
|
20
21
|
var wmsLayer = L.tileLayer.wms(this.data.url, {
|
21
22
|
layers: this.data.layerId,
|
22
23
|
format: 'image/png',
|
@@ -24,7 +25,7 @@ GeoBlacklight.Viewer.Wms = GeoBlacklight.Viewer.Map.extend({
|
|
24
25
|
tiled: true,
|
25
26
|
CRS: 'EPSG:900913',
|
26
27
|
opacity: this.options.opacity,
|
27
|
-
detectRetina:
|
28
|
+
detectRetina: _this.detectRetina()
|
28
29
|
});
|
29
30
|
this.overlay.addLayer(wmsLayer);
|
30
31
|
this.setupInspection();
|
@@ -1,4 +1,4 @@
|
|
1
1
|
<div id="documents" class="docView col-md-6">
|
2
2
|
<%= render documents, :as => :document %>
|
3
3
|
</div>
|
4
|
-
<%= content_tag :div, '', id: 'map', data: { map: 'index', 'catalog-path'=> search_catalog_path , 'map-bbox' => params[:bbox], basemap: geoblacklight_basemap } %>
|
4
|
+
<%= content_tag :div, '', id: 'map', data: { map: 'index', 'catalog-path'=> search_catalog_path , 'map-bbox' => params[:bbox], basemap: geoblacklight_basemap, leaflet_options: leaflet_options } %>
|
@@ -43,7 +43,7 @@
|
|
43
43
|
</div>
|
44
44
|
<div class='col-md-6 text-center'>
|
45
45
|
<%= content_tag :h3, t('geoblacklight.home.map_heading') %>
|
46
|
-
<%= content_tag :div, '', id: 'map', data: { map: 'home', 'catalog-path'=> search_catalog_path , 'map-bbox' => params[:bbox], basemap: geoblacklight_basemap } %>
|
46
|
+
<%= content_tag :div, '', id: 'map', data: { map: 'home', 'catalog-path'=> search_catalog_path , 'map-bbox' => params[:bbox], basemap: geoblacklight_basemap, leaflet_options: leaflet_options } %>
|
47
47
|
</div>
|
48
48
|
</div>
|
49
49
|
</div>
|
@@ -1,36 +1,27 @@
|
|
1
1
|
require 'rails/generators'
|
2
2
|
require 'generators/geoblacklight/install_generator'
|
3
3
|
require 'geoblacklight'
|
4
|
-
require '
|
4
|
+
require 'fileutils'
|
5
5
|
|
6
6
|
namespace :geoblacklight do
|
7
|
-
desc '
|
7
|
+
desc 'Configures Solr for local jetty instance'
|
8
8
|
task :configure_solr do
|
9
|
-
|
9
|
+
root = Gem::Specification.find_by_name('geoblacklight').gem_dir rescue '.'
|
10
|
+
[
|
10
11
|
{
|
11
|
-
|
12
|
+
src: "schema/solr/conf/schema.xml",
|
12
13
|
file: 'schema.xml'
|
13
14
|
},
|
14
15
|
{
|
15
|
-
|
16
|
+
src: "schema/solr/conf/solrconfig.xml",
|
16
17
|
file: 'solrconfig.xml'
|
17
18
|
}
|
18
|
-
]
|
19
|
-
|
20
|
-
puts item.inspect
|
21
|
-
begin
|
22
|
-
open(item[:url]) do |io|
|
23
|
-
IO.copy_stream(io, "jetty/solr/blacklight-core/conf/#{item[:file]}")
|
24
|
-
end
|
25
|
-
rescue Exception => e
|
26
|
-
abort "Unable to download #{item[:file]} from #{item[:url]} #{e.message}"
|
27
|
-
end
|
19
|
+
].each do |item|
|
20
|
+
FileUtils.cp File.join(root, item[:src]), "jetty/solr/blacklight-core/conf/#{item[:file]}", verbose: true
|
28
21
|
end
|
29
22
|
end
|
30
23
|
|
31
24
|
# Leaving this task in for backwards compatibility
|
32
25
|
desc 'Runs geoblacklight:configure_solr, you should just use geoblacklight:configure_solr'
|
33
|
-
task :
|
34
|
-
Rake::Task['geoblacklight:configure_solr'].invoke
|
35
|
-
end
|
26
|
+
task configure_jetty: :configure_solr
|
36
27
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# GeoBlacklight-Schema
|
2
|
+
|
3
|
+
Table View
|
4
|
+
|
5
|
+
Properties | Type | Controlled Values | Description
|
6
|
+
---------- | ---- | ------------ |-----------
|
7
|
+
**uuid** | string || Unique identifier for layer that is globally unique.
|
8
|
+
**dc\_identifier\_s** | string || Unique identifier for layer. May be same as UUID but may be an alternate identifier.
|
9
|
+
**dc\_title\_s** | string || Title for the layer.
|
10
|
+
**dc\_description\_s** | string || Description for the layer.
|
11
|
+
**dc\_rights\_s**| string | "Public", "Restricted" | Access rights for the layer.
|
12
|
+
**dct\_provenance\_s** | string || Institution who holds the layer.
|
13
|
+
**dct\_references\_s** | string || JSON hash for external resources, where each key is a URI for the protocol or format and the value is the URL to the resource.
|
14
|
+
**georss\_box\_s** | string || Bounding box as maximum values for S W N E. Example: 12.6 -119.4 19.9 84.8.
|
15
|
+
**layer\_id\_s** | string || The complete identifier for the layer via WMS/WFS/WCS protocol. Example: druid:vr593vj7147.
|
16
|
+
**layer\_geom\_type\_s** | string | "Point", "Line", "Polygon", "Raster", "Scanned Map", "Mixed" | Geometry type for layer data, using controlled vocabulary.
|
17
|
+
**layer\_modified\_dt** | string | date-time | Last modification date for the metadata record, using XML Schema dateTime format (YYYY-MM-DDThh:mm:ssZ).
|
18
|
+
**layer\_slug\_s** | string || Unique identifier visible to the user, used for Permalinks. Example: stanford-vr593vj7147.
|
19
|
+
**solr\_geom** | string | /ENVELOPE(.\*,.\*,.\*,.\*)/ | **Derived** from georss\_polygon\_s or georss\_box\_s. Shape of the layer as a ENVELOPE WKT using W E N S. Example: ENVELOPE(76.76, 84.76, 19.91, 12.62). Note that this field is indexed as a Solr spatial (RPT) field.
|
20
|
+
**solr\_year\_i** | integer || **Derived** from dct\_temporal\_sm. Year for which layer is valid and only a single value. Example: 1989. Note that this field is indexed as a Solr numeric field.
|
21
|
+
dc\_creator\_sm | multivalued string || Author(s). Example: George Washington, Thomas Jefferson.
|
22
|
+
dc\_format\_s | string | Shapefile, GeoTIFF, ArcGRID | File format for the layer, using a controlled vocabulary.
|
23
|
+
dc\_language\_s | string || Language for the layer. Example: English.
|
24
|
+
dc\_publisher\_s | string || Publisher. Example: ML InfoMap.
|
25
|
+
dc\_subject\_sm | multivalued string || Subjects, preferrably in a controlled vocabulary. Examples: Census, Human settlements.
|
26
|
+
dc\_type\_s | string | "Dataset", "Image", "PhysicalObject" | Resource type, using DCMI Type Vocabulary.
|
27
|
+
dct\_spatial\_sm | multivalued string || Spatial coverage and place names, perferrably in a controlled vocabulary. Example: "Paris, France".
|
28
|
+
dct\_temporal\_sm | multivalued string || Temporal coverage, typically years or dates. Example: 1989, circa 2010, 2007-2009. Note that this field is not in a specific date format.
|
29
|
+
dct\_issued\_dt | string | date-time | Issued date for the layer, using XML Schema dateTime format (YYYY-MM-DDThh:mm:ssZ).
|
30
|
+
dct\_isPartOf\_sm | multivalued string || Holding dataset for the layer, such as the name of a collection. Example: Village Maps of India.
|
31
|
+
georss\_point\_s | string || Point representation for layer as y, x - i.e., centroid. Example: 12.6 -119.4.
|
@@ -0,0 +1,158 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<schema name="geoblacklight-schema" version="1.5">
|
3
|
+
<uniqueKey>uuid</uniqueKey>
|
4
|
+
<fields>
|
5
|
+
<field name="_version_" type="long" stored="true" indexed="true"/>
|
6
|
+
<field name="timestamp" type="date" stored="true" indexed="true" default="NOW"/>
|
7
|
+
<field name="uuid" type="string" stored="true" indexed="true" required="true"/>
|
8
|
+
|
9
|
+
<!-- core generated fields -->
|
10
|
+
<field name="text" type="text_en" stored="false" indexed="true" multiValued="true"
|
11
|
+
termVectors="true" termPositions="true" termOffsets="true" />
|
12
|
+
|
13
|
+
<!-- dynamic field with simple types by suffix -->
|
14
|
+
<dynamicField name="*_b" type="boolean" stored="true" indexed="true"/>
|
15
|
+
<dynamicField name="*_d" type="double" stored="true" indexed="true"/>
|
16
|
+
<dynamicField name="*_dt" type="date" stored="true" indexed="true"/>
|
17
|
+
<dynamicField name="*_f" type="float" stored="true" indexed="true"/>
|
18
|
+
<dynamicField name="*_i" type="int" stored="true" indexed="true"/>
|
19
|
+
<dynamicField name="*_l" type="long" stored="true" indexed="true"/>
|
20
|
+
<dynamicField name="*_s" type="string" stored="true" indexed="true"/>
|
21
|
+
<dynamicField name="*_ss" type="string" stored="true" indexed="false"/>
|
22
|
+
<dynamicField name="*_si" type="string" stored="false" indexed="true"/>
|
23
|
+
<dynamicField name="*_sim" type="string" stored="false" indexed="true" multiValued="true" />
|
24
|
+
<dynamicField name="*_sm" type="string" stored="true" indexed="true" multiValued="true" />
|
25
|
+
<dynamicField name="*_url" type="string" stored="true" indexed="false"/>
|
26
|
+
<dynamicField name="*_blob" type="binary" stored="true" indexed="false"/>
|
27
|
+
|
28
|
+
<!-- dynamic Text fields by suffix without storage -->
|
29
|
+
<dynamicField name="*_t" type="text_en" stored="false" indexed="true"
|
30
|
+
termVectors="true" termPositions="true" termOffsets="true"/>
|
31
|
+
<dynamicField name="*_tm" type="text_en" stored="false" indexed="true" multiValued="true"
|
32
|
+
termVectors="true" termPositions="true" termOffsets="true"/>
|
33
|
+
<dynamicField name="*_ti" type="text_en" stored="false" indexed="true"
|
34
|
+
termVectors="true" termPositions="true" termOffsets="true"/>
|
35
|
+
<dynamicField name="*_tmi" type="text_en" stored="false" indexed="true" multiValued="true"
|
36
|
+
termVectors="true" termPositions="true" termOffsets="true"/>
|
37
|
+
<dynamicField name="*_sort" type="text_sort" stored="false" indexed="true" multiValued="false"/>
|
38
|
+
|
39
|
+
<!-- Spatial field types:
|
40
|
+
|
41
|
+
Solr3:
|
42
|
+
<field name="my_pt">83.1,-117.312</field>
|
43
|
+
as (y,x)
|
44
|
+
|
45
|
+
Solr4:
|
46
|
+
|
47
|
+
<field name="my_bbox">-117.312 83.1 -115.39 84.31</field>
|
48
|
+
as (W S E N)
|
49
|
+
|
50
|
+
<field name="my_geom">ENVELOPE(-117.312, -115.39, 84.31, 83.1)</field>
|
51
|
+
as (W E N S)
|
52
|
+
|
53
|
+
<field name="my_jts">POLYGON((1 8, 1 9, 2 9, 2 8, 1 8))</field>
|
54
|
+
as WKT for point, linestring, polygon
|
55
|
+
|
56
|
+
-->
|
57
|
+
<dynamicField name="*_pt" type="location" stored="true" indexed="true"/>
|
58
|
+
<dynamicField name="*_bbox" type="location_rpt" stored="true" indexed="true"/>
|
59
|
+
<dynamicField name="*_geom" type="location_rpt" stored="true" indexed="true"/>
|
60
|
+
<!-- <dynamicField name="*_jts" type="location_jts" stored="true" indexed="true"/> -->
|
61
|
+
</fields>
|
62
|
+
|
63
|
+
<types>
|
64
|
+
<fieldType name="string" class="solr.StrField" sortMissingLast="true" />
|
65
|
+
<fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/>
|
66
|
+
|
67
|
+
<fieldType name="int" class="solr.TrieIntField" precisionStep="8" positionIncrementGap="0"/>
|
68
|
+
<fieldType name="float" class="solr.TrieFloatField" precisionStep="8" positionIncrementGap="0"/>
|
69
|
+
<fieldType name="long" class="solr.TrieLongField" precisionStep="8" positionIncrementGap="0"/>
|
70
|
+
<fieldType name="double" class="solr.TrieDoubleField" precisionStep="8" positionIncrementGap="0"/>
|
71
|
+
|
72
|
+
<!-- The format for this date field is of the form 1995-12-31T23:59:59Z.
|
73
|
+
The trailing "Z" designates UTC time and is mandatory.
|
74
|
+
A Trie based date field for faster date range queries and date faceting. -->
|
75
|
+
<fieldType name="date" class="solr.TrieDateField" precisionStep="6" positionIncrementGap="0"/>
|
76
|
+
|
77
|
+
<!--Binary data type. The data should be sent/retrieved in as Base64 encoded Strings -->
|
78
|
+
<fieldtype name="binary" class="solr.BinaryField"/>
|
79
|
+
|
80
|
+
<!-- A text field with defaults appropriate for English: it
|
81
|
+
tokenizes with StandardTokenizer, removes English stop words
|
82
|
+
(lang/stopwords_en.txt), down cases, protects words from protwords.txt, and
|
83
|
+
finally applies Porter's stemming. The query time analyzer
|
84
|
+
also applies synonyms from synonyms.txt. -->
|
85
|
+
<fieldType name="text_en" class="solr.TextField" positionIncrementGap="100">
|
86
|
+
<analyzer type="index">
|
87
|
+
<tokenizer class="solr.StandardTokenizerFactory"/>
|
88
|
+
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_en.txt"/>
|
89
|
+
<filter class="solr.LowerCaseFilterFactory"/>
|
90
|
+
<filter class="solr.EnglishPossessiveFilterFactory"/>
|
91
|
+
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
|
92
|
+
<filter class="solr.PorterStemFilterFactory"/>
|
93
|
+
</analyzer>
|
94
|
+
<analyzer type="query">
|
95
|
+
<tokenizer class="solr.StandardTokenizerFactory"/>
|
96
|
+
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
|
97
|
+
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_en.txt"/>
|
98
|
+
<filter class="solr.LowerCaseFilterFactory"/>
|
99
|
+
<filter class="solr.EnglishPossessiveFilterFactory"/>
|
100
|
+
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
|
101
|
+
<filter class="solr.PorterStemFilterFactory"/>
|
102
|
+
</analyzer>
|
103
|
+
</fieldType>
|
104
|
+
|
105
|
+
<!-- for alpha sorting as a single token -->
|
106
|
+
<fieldType name="text_sort" class="solr.TextField" sortMissingLast="true" omitNorms="true">
|
107
|
+
<analyzer>
|
108
|
+
<tokenizer class="solr.KeywordTokenizerFactory"/>
|
109
|
+
<filter class="solr.LowerCaseFilterFactory" />
|
110
|
+
<filter class="solr.TrimFilterFactory" />
|
111
|
+
<filter class="solr.PatternReplaceFilterFactory" pattern="([^a-z0-9 ])" replacement="" replace="all"/>
|
112
|
+
</analyzer>
|
113
|
+
</fieldType>
|
114
|
+
|
115
|
+
<!-- Spatial field types -->
|
116
|
+
<fieldType name="location" class="solr.LatLonType" subFieldSuffix="_d"/>
|
117
|
+
|
118
|
+
<fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType"
|
119
|
+
distErrPct="0.025"
|
120
|
+
maxDistErr="0.000009"
|
121
|
+
units="degrees"
|
122
|
+
/>
|
123
|
+
|
124
|
+
<!-- JTS-enabled spatial predicates; requires JTS installation -->
|
125
|
+
<!-- <fieldType name="location_jts" class="solr.SpatialRecursivePrefixTreeFieldType"
|
126
|
+
spatialContextFactory="com.spatial4j.core.context.jts.JtsSpatialContextFactory"
|
127
|
+
distErrPct="0.025"
|
128
|
+
maxDistErr="0.000009"
|
129
|
+
units="degrees"
|
130
|
+
/> -->
|
131
|
+
</types>
|
132
|
+
|
133
|
+
<!-- for scoring formula -->
|
134
|
+
<copyField source="dct_spatial_sm" dest="dct_spatial_tmi" maxChars="10000"/>
|
135
|
+
<copyField source="dct_temporal_sm" dest="dct_temporal_tmi" maxChars="10000"/>
|
136
|
+
<copyField source="dc_creator_sm" dest="dc_creator_tmi" maxChars="1000"/>
|
137
|
+
<copyField source="dc_description_s" dest="dc_description_ti" maxChars="10000"/>
|
138
|
+
<copyField source="dc_format_s" dest="dc_format_ti" maxChars="100"/>
|
139
|
+
<copyField source="dc_identifier_s" dest="dc_identifier_ti" maxChars="100"/>
|
140
|
+
<copyField source="dc_publisher_s" dest="dc_publisher_ti" maxChars="1000"/>
|
141
|
+
<copyField source="dc_rights_s" dest="dc_rights_ti" maxChars="100"/>
|
142
|
+
<copyField source="dct_provenance_s" dest="dct_provenance_ti" maxChars="1000"/>
|
143
|
+
<copyField source="dc_subject_sm" dest="dc_subject_tmi" maxChars="10000"/>
|
144
|
+
<copyField source="dc_title_s" dest="dc_title_ti" maxChars="1000"/>
|
145
|
+
<copyField source="dct_isPartOf_sm" dest="dct_isPartOf_tmi" maxChars="1000"/>
|
146
|
+
<copyField source="layer_geom_type_s" dest="layer_geom_type_ti" maxChars="100"/>
|
147
|
+
<copyField source="layer_slug_s" dest="layer_slug_ti" maxChars="100"/>
|
148
|
+
|
149
|
+
<!-- core text search -->
|
150
|
+
<copyField source="*_ti" dest="text" />
|
151
|
+
<copyField source="*_tmi" dest="text" />
|
152
|
+
|
153
|
+
<!-- for sorting text fields -->
|
154
|
+
<copyField source="dct_provenance_s" dest="dct_provenance_sort"/>
|
155
|
+
<copyField source="dc_publisher_s" dest="dc_publisher_sort"/>
|
156
|
+
<copyField source="dc_title_s" dest="dc_title_sort"/>
|
157
|
+
|
158
|
+
</schema>
|
@@ -0,0 +1,180 @@
|
|
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
|
+
For more details about configurations options that may appear in
|
20
|
+
this file, see http://wiki.apache.org/solr/SolrConfigXml.
|
21
|
+
-->
|
22
|
+
<config>
|
23
|
+
<luceneMatchVersion>4.7</luceneMatchVersion>
|
24
|
+
<dataDir>${solr.data.dir:}</dataDir>
|
25
|
+
<directoryFactory name="DirectoryFactory" class="${solr.directoryFactory:solr.NRTCachingDirectoryFactory}"/>
|
26
|
+
<codecFactory class="solr.SchemaCodecFactory"/>
|
27
|
+
<schemaFactory class="ClassicIndexSchemaFactory"/>
|
28
|
+
<indexConfig>
|
29
|
+
<lockType>${solr.lock.type:native}</lockType>
|
30
|
+
</indexConfig>
|
31
|
+
|
32
|
+
<!-- The default high-performance update handler -->
|
33
|
+
<updateHandler class="solr.DirectUpdateHandler2">
|
34
|
+
<updateLog>
|
35
|
+
<str name="dir">${solr.ulog.dir:}</str>
|
36
|
+
</updateLog>
|
37
|
+
<autoCommit>
|
38
|
+
<maxTime>15000</maxTime>
|
39
|
+
<openSearcher>false</openSearcher>
|
40
|
+
</autoCommit>
|
41
|
+
</updateHandler>
|
42
|
+
|
43
|
+
<!-- realtime get handler, guaranteed to return the latest stored fields
|
44
|
+
of any document, without the need to commit or open a new searcher. The current
|
45
|
+
implementation relies on the updateLog feature being enabled. -->
|
46
|
+
<requestHandler name="/get" class="solr.RealTimeGetHandler">
|
47
|
+
<lst name="defaults">
|
48
|
+
<str name="omitHeader">true</str>
|
49
|
+
</lst>
|
50
|
+
</requestHandler>
|
51
|
+
|
52
|
+
<requestHandler name="/replication" class="solr.ReplicationHandler" startup="lazy" />
|
53
|
+
|
54
|
+
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
55
|
+
Query section - these settings control query time things like caches
|
56
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
|
57
|
+
<query>
|
58
|
+
<maxBooleanClauses>1024</maxBooleanClauses>
|
59
|
+
<filterCache class="solr.FastLRUCache" size="512" initialSize="512" autowarmCount="0"/>
|
60
|
+
<queryResultCache class="solr.LRUCache" size="512" initialSize="512" autowarmCount="0"/>
|
61
|
+
<documentCache class="solr.LRUCache" size="512" initialSize="512" autowarmCount="0"/>
|
62
|
+
<enableLazyFieldLoading>true</enableLazyFieldLoading>
|
63
|
+
<queryResultWindowSize>20</queryResultWindowSize>
|
64
|
+
<queryResultMaxDocsCached>200</queryResultMaxDocsCached>
|
65
|
+
<listener event="newSearcher" class="solr.QuerySenderListener">
|
66
|
+
<arr name="queries">
|
67
|
+
<lst><str name="q">stanford</str></lst>
|
68
|
+
<lst><str name="q">polygon</str></lst>
|
69
|
+
</arr>
|
70
|
+
</listener>
|
71
|
+
<listener event="firstSearcher" class="solr.QuerySenderListener">
|
72
|
+
<arr name="queries">
|
73
|
+
<lst>
|
74
|
+
<str name="q">static firstSearcher warming in solrconfig.xml</str>
|
75
|
+
</lst>
|
76
|
+
</arr>
|
77
|
+
</listener>
|
78
|
+
<useColdSearcher>false</useColdSearcher>
|
79
|
+
<maxWarmingSearchers>2</maxWarmingSearchers>
|
80
|
+
</query>
|
81
|
+
|
82
|
+
<requestDispatcher handleSelect="false">
|
83
|
+
<requestParsers enableRemoteStreaming="true" multipartUploadLimitInKB="2048000" formdataUploadLimitInKB="2048"/>
|
84
|
+
<httpCaching never304="true"/>
|
85
|
+
</requestDispatcher>
|
86
|
+
|
87
|
+
<requestHandler name="/search" class="solr.SearchHandler"/>
|
88
|
+
|
89
|
+
<requestHandler name="/select" class="solr.SearchHandler">
|
90
|
+
<lst name="defaults">
|
91
|
+
<int name="start">0</int>
|
92
|
+
<int name="rows">10</int>
|
93
|
+
<str name="wt">json</str>
|
94
|
+
<int name="indent">2</int>
|
95
|
+
<str name="defType">edismax</str>
|
96
|
+
<str name="echoParams">all</str>
|
97
|
+
<str name="mm">6<-1 6<90%</str>
|
98
|
+
<int name="qs">1</int>
|
99
|
+
<int name="ps">0</int>
|
100
|
+
<float name="tie">0.01</float>
|
101
|
+
<str name="fl">*,score</str>
|
102
|
+
<str name="sort">score desc, dc_title_sort asc</str>
|
103
|
+
<str name="q.alt">*:*</str>
|
104
|
+
<str name="qf">
|
105
|
+
text^1
|
106
|
+
dc_description_ti^2
|
107
|
+
dc_creator_tmi^3
|
108
|
+
dc_publisher_ti^3
|
109
|
+
dct_isPartOf_tmi^4
|
110
|
+
dc_subject_tmi^5
|
111
|
+
dct_spatial_tmi^5
|
112
|
+
dct_temporal_tmi^5
|
113
|
+
dc_title_ti^6
|
114
|
+
dc_rights_ti^7
|
115
|
+
dct_provenance_ti^8
|
116
|
+
layer_geom_type_ti^9
|
117
|
+
layer_slug_ti^10
|
118
|
+
dc_identifier_ti^10
|
119
|
+
</str>
|
120
|
+
<str name="pf"><!-- phrase boost within result set -->
|
121
|
+
text^1
|
122
|
+
dc_description_ti^2
|
123
|
+
dc_creator_tmi^3
|
124
|
+
dc_publisher_ti^3
|
125
|
+
dct_isPartOf_tmi^4
|
126
|
+
dc_subject_tmi^5
|
127
|
+
dct_spatial_tmi^5
|
128
|
+
dct_temporal_tmi^5
|
129
|
+
dc_title_ti^6
|
130
|
+
dc_rights_ti^7
|
131
|
+
dct_provenance_ti^8
|
132
|
+
layer_geom_type_ti^9
|
133
|
+
layer_slug_ti^10
|
134
|
+
dc_identifier_ti^10
|
135
|
+
</str>
|
136
|
+
<bool name="facet">true</bool>
|
137
|
+
<int name="facet.mincount">1</int>
|
138
|
+
<int name="facet.limit">10</int>
|
139
|
+
<str name="facet.field">dct_isPartOf_sm</str>
|
140
|
+
<str name="facet.field">dct_provenance_s</str>
|
141
|
+
<str name="facet.field">dct_spatial_sm</str>
|
142
|
+
<str name="facet.field">dc_creator_sm</str>
|
143
|
+
<str name="facet.field">dc_format_s</str>
|
144
|
+
<str name="facet.field">dc_language_s</str>
|
145
|
+
<str name="facet.field">dc_publisher_s</str>
|
146
|
+
<str name="facet.field">dc_rights_s</str>
|
147
|
+
<str name="facet.field">dc_subject_sm</str>
|
148
|
+
<str name="facet.field">layer_geom_type_s</str>
|
149
|
+
<str name="facet.field">solr_year_i</str>
|
150
|
+
</lst>
|
151
|
+
</requestHandler>
|
152
|
+
|
153
|
+
<requestHandler name="/update" class="solr.UpdateRequestHandler"/>
|
154
|
+
<requestHandler name="/admin/" class="solr.admin.AdminHandlers"/>
|
155
|
+
|
156
|
+
<!-- ping/healthcheck -->
|
157
|
+
<requestHandler name="/admin/ping" class="solr.PingRequestHandler">
|
158
|
+
<lst name="invariants">
|
159
|
+
<str name="q">solrpingquery</str>
|
160
|
+
</lst>
|
161
|
+
<lst name="defaults">
|
162
|
+
<str name="echoParams">all</str>
|
163
|
+
</lst>
|
164
|
+
<!-- An optional feature of the PingRequestHandler is to configure the
|
165
|
+
handler with a "healthcheckFile" which can be used to enable/disable
|
166
|
+
the PingRequestHandler.
|
167
|
+
relative paths are resolved against the data dir
|
168
|
+
-->
|
169
|
+
<str name="healthcheckFile">server-enabled.txt</str>
|
170
|
+
</requestHandler>
|
171
|
+
|
172
|
+
<requestHandler name="/analysis/field"
|
173
|
+
startup="lazy"
|
174
|
+
class="solr.FieldAnalysisRequestHandler" />
|
175
|
+
|
176
|
+
<!-- Legacy config for the admin interface -->
|
177
|
+
<admin>
|
178
|
+
<defaultQuery>*:*</defaultQuery>
|
179
|
+
</admin>
|
180
|
+
</config>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: geoblacklight
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.
|
4
|
+
version: 1.0.0.pre2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Graves
|
@@ -380,6 +380,9 @@ files:
|
|
380
380
|
- lib/geoblacklight/wms_layer/feature_info_response.rb
|
381
381
|
- lib/tasks/configure_solr.rake
|
382
382
|
- lib/tasks/geoblacklight.rake
|
383
|
+
- schema/geoblacklight-schema.md
|
384
|
+
- schema/solr/conf/schema.xml
|
385
|
+
- schema/solr/conf/solrconfig.xml
|
383
386
|
- spec/controllers/catalog_controller_spec.rb
|
384
387
|
- spec/controllers/download_controller_spec.rb
|
385
388
|
- spec/factories/user.rb
|