solrsrv 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.document +5 -0
- data/.gitignore +11 -0
- data/LICENSE +20 -0
- data/README.md +27 -0
- data/Rakefile +28 -0
- data/VERSION +1 -0
- data/apache-solr-1.4.0/README.txt +42 -0
- data/apache-solr-1.4.0/etc/jetty.xml +212 -0
- data/apache-solr-1.4.0/etc/webdefault.xml +379 -0
- data/apache-solr-1.4.0/example-DIH/README.txt +43 -0
- data/apache-solr-1.4.0/example-DIH/hsqldb/ex.backup +0 -0
- data/apache-solr-1.4.0/example-DIH/hsqldb/ex.data +0 -0
- data/apache-solr-1.4.0/example-DIH/hsqldb/ex.log +2 -0
- data/apache-solr-1.4.0/example-DIH/hsqldb/ex.properties +17 -0
- data/apache-solr-1.4.0/example-DIH/hsqldb/ex.script +12 -0
- data/apache-solr-1.4.0/example-DIH/solr/db/conf/admin-extra.html +31 -0
- data/apache-solr-1.4.0/example-DIH/solr/db/conf/db-data-config.xml +31 -0
- data/apache-solr-1.4.0/example-DIH/solr/db/conf/elevate.xml +36 -0
- data/apache-solr-1.4.0/example-DIH/solr/db/conf/protwords.txt +21 -0
- data/apache-solr-1.4.0/example-DIH/solr/db/conf/schema.xml +356 -0
- data/apache-solr-1.4.0/example-DIH/solr/db/conf/scripts.conf +24 -0
- data/apache-solr-1.4.0/example-DIH/solr/db/conf/solrconfig.xml +705 -0
- data/apache-solr-1.4.0/example-DIH/solr/db/conf/stopwords.txt +58 -0
- data/apache-solr-1.4.0/example-DIH/solr/db/conf/synonyms.txt +31 -0
- data/apache-solr-1.4.0/example-DIH/solr/db/conf/xslt/example.xsl +132 -0
- data/apache-solr-1.4.0/example-DIH/solr/db/conf/xslt/example_atom.xsl +63 -0
- data/apache-solr-1.4.0/example-DIH/solr/db/conf/xslt/example_rss.xsl +62 -0
- data/apache-solr-1.4.0/example-DIH/solr/db/conf/xslt/luke.xsl +345 -0
- data/apache-solr-1.4.0/example-DIH/solr/db/lib/hsqldb-1.8.0.10.jar +0 -0
- data/apache-solr-1.4.0/example-DIH/solr/mail/conf/data-config.xml +11 -0
- data/apache-solr-1.4.0/example-DIH/solr/mail/conf/protwords.txt +21 -0
- data/apache-solr-1.4.0/example-DIH/solr/mail/conf/schema.xml +370 -0
- data/apache-solr-1.4.0/example-DIH/solr/mail/conf/solrconfig.xml +807 -0
- data/apache-solr-1.4.0/example-DIH/solr/mail/conf/stopwords.txt +58 -0
- data/apache-solr-1.4.0/example-DIH/solr/mail/conf/synonyms.txt +31 -0
- data/apache-solr-1.4.0/example-DIH/solr/rss/conf/admin-extra.html +31 -0
- data/apache-solr-1.4.0/example-DIH/solr/rss/conf/elevate.xml +36 -0
- data/apache-solr-1.4.0/example-DIH/solr/rss/conf/protwords.txt +21 -0
- data/apache-solr-1.4.0/example-DIH/solr/rss/conf/rss-data-config.xml +26 -0
- data/apache-solr-1.4.0/example-DIH/solr/rss/conf/schema.xml +316 -0
- data/apache-solr-1.4.0/example-DIH/solr/rss/conf/scripts.conf +24 -0
- data/apache-solr-1.4.0/example-DIH/solr/rss/conf/solrconfig.xml +704 -0
- data/apache-solr-1.4.0/example-DIH/solr/rss/conf/stopwords.txt +58 -0
- data/apache-solr-1.4.0/example-DIH/solr/rss/conf/synonyms.txt +31 -0
- data/apache-solr-1.4.0/example-DIH/solr/solr.xml +8 -0
- data/apache-solr-1.4.0/exampledocs/books.csv +11 -0
- data/apache-solr-1.4.0/exampledocs/hd.xml +48 -0
- data/apache-solr-1.4.0/exampledocs/ipod_other.xml +52 -0
- data/apache-solr-1.4.0/exampledocs/ipod_video.xml +36 -0
- data/apache-solr-1.4.0/exampledocs/mem.xml +60 -0
- data/apache-solr-1.4.0/exampledocs/monitor.xml +31 -0
- data/apache-solr-1.4.0/exampledocs/monitor2.xml +30 -0
- data/apache-solr-1.4.0/exampledocs/mp500.xml +39 -0
- data/apache-solr-1.4.0/exampledocs/payload.xml +57 -0
- data/apache-solr-1.4.0/exampledocs/post.jar +0 -0
- data/apache-solr-1.4.0/exampledocs/post.sh +28 -0
- data/apache-solr-1.4.0/exampledocs/sd500.xml +34 -0
- data/apache-solr-1.4.0/exampledocs/solr.xml +38 -0
- data/apache-solr-1.4.0/exampledocs/test_utf8.sh +83 -0
- data/apache-solr-1.4.0/exampledocs/utf8-example.xml +42 -0
- data/apache-solr-1.4.0/exampledocs/vidcard.xml +54 -0
- data/apache-solr-1.4.0/lib/jetty-6.1.3.jar +0 -0
- data/apache-solr-1.4.0/lib/jetty-util-6.1.3.jar +0 -0
- data/apache-solr-1.4.0/lib/jsp-2.1/ant-1.6.5.jar +0 -0
- data/apache-solr-1.4.0/lib/jsp-2.1/core-3.1.1.jar +0 -0
- data/apache-solr-1.4.0/lib/jsp-2.1/jsp-2.1.jar +0 -0
- data/apache-solr-1.4.0/lib/jsp-2.1/jsp-api-2.1.jar +0 -0
- data/apache-solr-1.4.0/lib/servlet-api-2.5-6.1.3.jar +0 -0
- data/apache-solr-1.4.0/logs/.gitkeep +0 -0
- data/apache-solr-1.4.0/multicore/README.txt +3 -0
- data/apache-solr-1.4.0/multicore/core0/conf/schema.xml +41 -0
- data/apache-solr-1.4.0/multicore/core0/conf/solrconfig.xml +40 -0
- data/apache-solr-1.4.0/multicore/core1/conf/schema.xml +41 -0
- data/apache-solr-1.4.0/multicore/core1/conf/solrconfig.xml +40 -0
- data/apache-solr-1.4.0/multicore/exampledocs/ipod_other.xml +34 -0
- data/apache-solr-1.4.0/multicore/exampledocs/ipod_video.xml +22 -0
- data/apache-solr-1.4.0/multicore/solr.xml +35 -0
- data/apache-solr-1.4.0/solr/README.txt +54 -0
- data/apache-solr-1.4.0/solr/conf/admin-extra.html +31 -0
- data/apache-solr-1.4.0/solr/conf/elevate.xml +36 -0
- data/apache-solr-1.4.0/solr/conf/mapping-ISOLatin1Accent.txt +246 -0
- data/apache-solr-1.4.0/solr/conf/protwords.txt +21 -0
- data/apache-solr-1.4.0/solr/conf/schema.xml +569 -0
- data/apache-solr-1.4.0/solr/conf/scripts.conf +24 -0
- data/apache-solr-1.4.0/solr/conf/solrconfig.xml +1033 -0
- data/apache-solr-1.4.0/solr/conf/spellings.txt +2 -0
- data/apache-solr-1.4.0/solr/conf/stopwords.txt +58 -0
- data/apache-solr-1.4.0/solr/conf/synonyms.txt +31 -0
- data/apache-solr-1.4.0/solr/conf/xslt/example.xsl +132 -0
- data/apache-solr-1.4.0/solr/conf/xslt/example_atom.xsl +67 -0
- data/apache-solr-1.4.0/solr/conf/xslt/example_rss.xsl +66 -0
- data/apache-solr-1.4.0/solr/conf/xslt/luke.xsl +337 -0
- data/apache-solr-1.4.0/start.jar +0 -0
- data/apache-solr-1.4.0/webapps/solr.war +0 -0
- data/bin/solrsrv +39 -0
- data/lib/generators/solrsrv/update_config/templates/solrsrv.yml +17 -0
- data/lib/generators/solrsrv/update_config/update_config_generator.rb +17 -0
- data/lib/solrsrv/engine.rb +6 -0
- data/lib/solrsrv.rb +5 -0
- data/lib/tasks/solrsrv.rake +49 -0
- data/solrsrv.gemspec +143 -0
- metadata +184 -0
@@ -0,0 +1,337 @@
|
|
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
|
+
<!--
|
21
|
+
Display the luke request handler with graphs
|
22
|
+
-->
|
23
|
+
<xsl:stylesheet
|
24
|
+
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
25
|
+
xmlns="http://www.w3.org/1999/xhtml"
|
26
|
+
version="1.0"
|
27
|
+
>
|
28
|
+
<xsl:output
|
29
|
+
method="html"
|
30
|
+
encoding="UTF-8"
|
31
|
+
media-type="text/html; charset=UTF-8"
|
32
|
+
doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
|
33
|
+
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
|
34
|
+
/>
|
35
|
+
|
36
|
+
<xsl:variable name="title">Solr Luke Request Handler Response</xsl:variable>
|
37
|
+
|
38
|
+
<xsl:template match="/">
|
39
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
40
|
+
<head>
|
41
|
+
<link rel="stylesheet" type="text/css" href="solr-admin.css"/>
|
42
|
+
<link rel="icon" href="favicon.ico" type="image/ico"/>
|
43
|
+
<link rel="shortcut icon" href="favicon.ico" type="image/ico"/>
|
44
|
+
<title>
|
45
|
+
<xsl:value-of select="$title"/>
|
46
|
+
</title>
|
47
|
+
<xsl:call-template name="css"/>
|
48
|
+
|
49
|
+
</head>
|
50
|
+
<body>
|
51
|
+
<h1>
|
52
|
+
<xsl:value-of select="$title"/>
|
53
|
+
</h1>
|
54
|
+
<div class="doc">
|
55
|
+
<ul>
|
56
|
+
<xsl:if test="response/lst[@name='index']">
|
57
|
+
<li>
|
58
|
+
<a href="#index">Index Statistics</a>
|
59
|
+
</li>
|
60
|
+
</xsl:if>
|
61
|
+
<xsl:if test="response/lst[@name='fields']">
|
62
|
+
<li>
|
63
|
+
<a href="#fields">Field Statistics</a>
|
64
|
+
<ul>
|
65
|
+
<xsl:for-each select="response/lst[@name='fields']/lst">
|
66
|
+
<li>
|
67
|
+
<a href="#{@name}">
|
68
|
+
<xsl:value-of select="@name"/>
|
69
|
+
</a>
|
70
|
+
</li>
|
71
|
+
</xsl:for-each>
|
72
|
+
</ul>
|
73
|
+
</li>
|
74
|
+
</xsl:if>
|
75
|
+
<xsl:if test="response/lst[@name='doc']">
|
76
|
+
<li>
|
77
|
+
<a href="#doc">Document statistics</a>
|
78
|
+
</li>
|
79
|
+
</xsl:if>
|
80
|
+
</ul>
|
81
|
+
</div>
|
82
|
+
<xsl:if test="response/lst[@name='index']">
|
83
|
+
<h2><a name="index"/>Index Statistics</h2>
|
84
|
+
<xsl:apply-templates select="response/lst[@name='index']"/>
|
85
|
+
</xsl:if>
|
86
|
+
<xsl:if test="response/lst[@name='fields']">
|
87
|
+
<h2><a name="fields"/>Field Statistics</h2>
|
88
|
+
<xsl:apply-templates select="response/lst[@name='fields']"/>
|
89
|
+
</xsl:if>
|
90
|
+
<xsl:if test="response/lst[@name='doc']">
|
91
|
+
<h2><a name="doc"/>Document statistics</h2>
|
92
|
+
<xsl:apply-templates select="response/lst[@name='doc']"/>
|
93
|
+
</xsl:if>
|
94
|
+
</body>
|
95
|
+
</html>
|
96
|
+
</xsl:template>
|
97
|
+
|
98
|
+
<xsl:template match="lst">
|
99
|
+
<xsl:if test="parent::lst">
|
100
|
+
<tr>
|
101
|
+
<td colspan="2">
|
102
|
+
<div class="doc">
|
103
|
+
<xsl:call-template name="list"/>
|
104
|
+
</div>
|
105
|
+
</td>
|
106
|
+
</tr>
|
107
|
+
</xsl:if>
|
108
|
+
<xsl:if test="not(parent::lst)">
|
109
|
+
<div class="doc">
|
110
|
+
<xsl:call-template name="list"/>
|
111
|
+
</div>
|
112
|
+
</xsl:if>
|
113
|
+
</xsl:template>
|
114
|
+
|
115
|
+
<xsl:template name="list">
|
116
|
+
<xsl:if test="count(child::*)>0">
|
117
|
+
<table>
|
118
|
+
<thead>
|
119
|
+
<tr>
|
120
|
+
<th colspan="2">
|
121
|
+
<p>
|
122
|
+
<a name="{@name}"/>
|
123
|
+
</p>
|
124
|
+
<xsl:value-of select="@name"/>
|
125
|
+
</th>
|
126
|
+
</tr>
|
127
|
+
</thead>
|
128
|
+
<tbody>
|
129
|
+
<xsl:choose>
|
130
|
+
<xsl:when
|
131
|
+
test="@name='histogram'">
|
132
|
+
<tr>
|
133
|
+
<td colspan="2">
|
134
|
+
<xsl:call-template name="histogram"/>
|
135
|
+
</td>
|
136
|
+
</tr>
|
137
|
+
</xsl:when>
|
138
|
+
<xsl:otherwise>
|
139
|
+
<xsl:apply-templates/>
|
140
|
+
</xsl:otherwise>
|
141
|
+
</xsl:choose>
|
142
|
+
</tbody>
|
143
|
+
</table>
|
144
|
+
</xsl:if>
|
145
|
+
</xsl:template>
|
146
|
+
|
147
|
+
<xsl:template name="histogram">
|
148
|
+
<div class="doc">
|
149
|
+
<xsl:call-template name="barchart">
|
150
|
+
<xsl:with-param name="max_bar_width">50</xsl:with-param>
|
151
|
+
<xsl:with-param name="iwidth">800</xsl:with-param>
|
152
|
+
<xsl:with-param name="iheight">160</xsl:with-param>
|
153
|
+
<xsl:with-param name="fill">blue</xsl:with-param>
|
154
|
+
</xsl:call-template>
|
155
|
+
</div>
|
156
|
+
</xsl:template>
|
157
|
+
|
158
|
+
<xsl:template name="barchart">
|
159
|
+
<xsl:param name="max_bar_width"/>
|
160
|
+
<xsl:param name="iwidth"/>
|
161
|
+
<xsl:param name="iheight"/>
|
162
|
+
<xsl:param name="fill"/>
|
163
|
+
<xsl:variable name="max">
|
164
|
+
<xsl:for-each select="int">
|
165
|
+
<xsl:sort data-type="number" order="descending"/>
|
166
|
+
<xsl:if test="position()=1">
|
167
|
+
<xsl:value-of select="."/>
|
168
|
+
</xsl:if>
|
169
|
+
</xsl:for-each>
|
170
|
+
</xsl:variable>
|
171
|
+
<xsl:variable name="bars">
|
172
|
+
<xsl:value-of select="count(int)"/>
|
173
|
+
</xsl:variable>
|
174
|
+
<xsl:variable name="bar_width">
|
175
|
+
<xsl:choose>
|
176
|
+
<xsl:when test="$max_bar_width < ($iwidth div $bars)">
|
177
|
+
<xsl:value-of select="$max_bar_width"/>
|
178
|
+
</xsl:when>
|
179
|
+
<xsl:otherwise>
|
180
|
+
<xsl:value-of select="$iwidth div $bars"/>
|
181
|
+
</xsl:otherwise>
|
182
|
+
</xsl:choose>
|
183
|
+
</xsl:variable>
|
184
|
+
<table class="histogram">
|
185
|
+
<tbody>
|
186
|
+
<tr>
|
187
|
+
<xsl:for-each select="int">
|
188
|
+
<td>
|
189
|
+
<xsl:value-of select="."/>
|
190
|
+
<div class="histogram">
|
191
|
+
<xsl:attribute name="style">background-color: <xsl:value-of select="$fill"/>; width: <xsl:value-of select="$bar_width"/>px; height: <xsl:value-of select="($iheight*number(.)) div $max"/>px;</xsl:attribute>
|
192
|
+
</div>
|
193
|
+
</td>
|
194
|
+
</xsl:for-each>
|
195
|
+
</tr>
|
196
|
+
<tr>
|
197
|
+
<xsl:for-each select="int">
|
198
|
+
<td>
|
199
|
+
<xsl:value-of select="@name"/>
|
200
|
+
</td>
|
201
|
+
</xsl:for-each>
|
202
|
+
</tr>
|
203
|
+
</tbody>
|
204
|
+
</table>
|
205
|
+
</xsl:template>
|
206
|
+
|
207
|
+
<xsl:template name="keyvalue">
|
208
|
+
<xsl:choose>
|
209
|
+
<xsl:when test="@name">
|
210
|
+
<tr>
|
211
|
+
<td class="name">
|
212
|
+
<xsl:value-of select="@name"/>
|
213
|
+
</td>
|
214
|
+
<td class="value">
|
215
|
+
<xsl:value-of select="."/>
|
216
|
+
</td>
|
217
|
+
</tr>
|
218
|
+
</xsl:when>
|
219
|
+
<xsl:otherwise>
|
220
|
+
<xsl:value-of select="."/>
|
221
|
+
</xsl:otherwise>
|
222
|
+
</xsl:choose>
|
223
|
+
</xsl:template>
|
224
|
+
|
225
|
+
<xsl:template match="int|bool|long|float|double|uuid|date">
|
226
|
+
<xsl:call-template name="keyvalue"/>
|
227
|
+
</xsl:template>
|
228
|
+
|
229
|
+
<xsl:template match="arr">
|
230
|
+
<tr>
|
231
|
+
<td class="name">
|
232
|
+
<xsl:value-of select="@name"/>
|
233
|
+
</td>
|
234
|
+
<td class="value">
|
235
|
+
<ul>
|
236
|
+
<xsl:for-each select="child::*">
|
237
|
+
<li>
|
238
|
+
<xsl:apply-templates/>
|
239
|
+
</li>
|
240
|
+
</xsl:for-each>
|
241
|
+
</ul>
|
242
|
+
</td>
|
243
|
+
</tr>
|
244
|
+
</xsl:template>
|
245
|
+
|
246
|
+
<xsl:template match="str">
|
247
|
+
<xsl:choose>
|
248
|
+
<xsl:when test="@name='schema' or @name='index' or @name='flags'">
|
249
|
+
<xsl:call-template name="schema"/>
|
250
|
+
</xsl:when>
|
251
|
+
<xsl:otherwise>
|
252
|
+
<xsl:call-template name="keyvalue"/>
|
253
|
+
</xsl:otherwise>
|
254
|
+
</xsl:choose>
|
255
|
+
</xsl:template>
|
256
|
+
|
257
|
+
<xsl:template name="schema">
|
258
|
+
<tr>
|
259
|
+
<td class="name">
|
260
|
+
<xsl:value-of select="@name"/>
|
261
|
+
</td>
|
262
|
+
<td class="value">
|
263
|
+
<xsl:if test="contains(.,'unstored')">
|
264
|
+
<xsl:value-of select="."/>
|
265
|
+
</xsl:if>
|
266
|
+
<xsl:if test="not(contains(.,'unstored'))">
|
267
|
+
<xsl:call-template name="infochar2string">
|
268
|
+
<xsl:with-param name="charList">
|
269
|
+
<xsl:value-of select="."/>
|
270
|
+
</xsl:with-param>
|
271
|
+
</xsl:call-template>
|
272
|
+
</xsl:if>
|
273
|
+
</td>
|
274
|
+
</tr>
|
275
|
+
</xsl:template>
|
276
|
+
|
277
|
+
<xsl:template name="infochar2string">
|
278
|
+
<xsl:param name="i">1</xsl:param>
|
279
|
+
<xsl:param name="charList"/>
|
280
|
+
|
281
|
+
<xsl:variable name="char">
|
282
|
+
<xsl:value-of select="substring($charList,$i,1)"/>
|
283
|
+
</xsl:variable>
|
284
|
+
<xsl:choose>
|
285
|
+
<xsl:when test="$char='I'">
|
286
|
+
<xsl:value-of select="/response/lst[@name='info']/lst/str[@name='I']"/> - </xsl:when>
|
287
|
+
<xsl:when test="$char='T'">
|
288
|
+
<xsl:value-of select="/response/lst[@name='info']/lst/str[@name='T']"/> - </xsl:when>
|
289
|
+
<xsl:when test="$char='S'">
|
290
|
+
<xsl:value-of select="/response/lst[@name='info']/lst/str[@name='S']"/> - </xsl:when>
|
291
|
+
<xsl:when test="$char='M'">
|
292
|
+
<xsl:value-of select="/response/lst[@name='info']/lst/str[@name='M']"/> - </xsl:when>
|
293
|
+
<xsl:when test="$char='V'">
|
294
|
+
<xsl:value-of select="/response/lst[@name='info']/lst/str[@name='V']"/> - </xsl:when>
|
295
|
+
<xsl:when test="$char='o'">
|
296
|
+
<xsl:value-of select="/response/lst[@name='info']/lst/str[@name='o']"/> - </xsl:when>
|
297
|
+
<xsl:when test="$char='p'">
|
298
|
+
<xsl:value-of select="/response/lst[@name='info']/lst/str[@name='p']"/> - </xsl:when>
|
299
|
+
<xsl:when test="$char='O'">
|
300
|
+
<xsl:value-of select="/response/lst[@name='info']/lst/str[@name='O']"/> - </xsl:when>
|
301
|
+
<xsl:when test="$char='L'">
|
302
|
+
<xsl:value-of select="/response/lst[@name='info']/lst/str[@name='L']"/> - </xsl:when>
|
303
|
+
<xsl:when test="$char='B'">
|
304
|
+
<xsl:value-of select="/response/lst[@name='info']/lst/str[@name='B']"/> - </xsl:when>
|
305
|
+
<xsl:when test="$char='C'">
|
306
|
+
<xsl:value-of select="/response/lst[@name='info']/lst/str[@name='C']"/> - </xsl:when>
|
307
|
+
<xsl:when test="$char='f'">
|
308
|
+
<xsl:value-of select="/response/lst[@name='info']/lst/str[@name='f']"/> - </xsl:when>
|
309
|
+
<xsl:when test="$char='l'">
|
310
|
+
<xsl:value-of select="/response/lst[@name='info']/lst/str[@name='l']"/> -
|
311
|
+
</xsl:when>
|
312
|
+
</xsl:choose>
|
313
|
+
|
314
|
+
<xsl:if test="not($i>=string-length($charList))">
|
315
|
+
<xsl:call-template name="infochar2string">
|
316
|
+
<xsl:with-param name="i">
|
317
|
+
<xsl:value-of select="$i+1"/>
|
318
|
+
</xsl:with-param>
|
319
|
+
<xsl:with-param name="charList">
|
320
|
+
<xsl:value-of select="$charList"/>
|
321
|
+
</xsl:with-param>
|
322
|
+
</xsl:call-template>
|
323
|
+
</xsl:if>
|
324
|
+
</xsl:template>
|
325
|
+
<xsl:template name="css">
|
326
|
+
<style type="text/css">
|
327
|
+
<![CDATA[
|
328
|
+
td.name {font-style: italic; font-size:80%; }
|
329
|
+
.doc { margin: 0.5em; border: solid grey 1px; }
|
330
|
+
.exp { display: none; font-family: monospace; white-space: pre; }
|
331
|
+
div.histogram { background: none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;}
|
332
|
+
table.histogram { width: auto; vertical-align: bottom; }
|
333
|
+
table.histogram td, table.histogram th { text-align: center; vertical-align: bottom; border-bottom: 1px solid #ff9933; width: auto; }
|
334
|
+
]]>
|
335
|
+
</style>
|
336
|
+
</xsl:template>
|
337
|
+
</xsl:stylesheet>
|
Binary file
|
Binary file
|
data/bin/solrsrv
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'optparse'
|
3
|
+
require 'solrsrv'
|
4
|
+
|
5
|
+
cmd = %w(java)
|
6
|
+
|
7
|
+
OptionParser.new do |opts|
|
8
|
+
|
9
|
+
opts.on '--home DIRECTORY', 'Set solr home directory to DIRECTORY.' do |solr_home|
|
10
|
+
cmd << "-Dsolr.solr.home=#{File.expand_path(solr_home)}"
|
11
|
+
end
|
12
|
+
|
13
|
+
opts.on '--data-dir DIRECTORY', 'Set solr data directory to DIRECTORY.' do |data_path|
|
14
|
+
cmd << "-Dsolr.data.dir=#{File.expand_path(data_path)}"
|
15
|
+
end
|
16
|
+
|
17
|
+
opts.on '--pid-file FILENAME', 'Save the pid in DIRECTORY. (default: none)' do |data_path|
|
18
|
+
File.open(File.expand_path(data_path), 'w') do |f|
|
19
|
+
f.write(Process.pid)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
opts.on '--log-dir DIRECTORY', '' do |log_path|
|
24
|
+
cmd << "-Djetty.logs=#{File.expand_path(log_path)}"
|
25
|
+
end
|
26
|
+
|
27
|
+
opts.on '--port PORT', 'Set the port number to listen to' do |port|
|
28
|
+
cmd << "-Djetty.port=#{port}"
|
29
|
+
end
|
30
|
+
|
31
|
+
opts.on_tail('-h', '--help', 'Show extended help message.') do
|
32
|
+
puts opts
|
33
|
+
exit 0
|
34
|
+
end
|
35
|
+
|
36
|
+
end.parse! ARGV
|
37
|
+
|
38
|
+
cmd << '-jar start.jar'
|
39
|
+
exec "cd #{Solrsrv::SolrPath} && exec #{cmd.join(' ')}"
|
@@ -0,0 +1,17 @@
|
|
1
|
+
development:
|
2
|
+
port: 8981
|
3
|
+
log_dir: log/solr/development
|
4
|
+
data_dir: tmp/solr_data/development
|
5
|
+
pid_file: tmp/pids/solr_development.pid
|
6
|
+
|
7
|
+
test:
|
8
|
+
port: 8982
|
9
|
+
log_dir: log/solr/test
|
10
|
+
data_dir: tmp/solr_data/test
|
11
|
+
pid_file: tmp/pids/solr_test.pid
|
12
|
+
|
13
|
+
production:
|
14
|
+
port: 8983
|
15
|
+
log_dir: log/solr/production
|
16
|
+
data_dir: tmp/solr_data/production
|
17
|
+
pid_file: tmp/pids/solr_production.pid
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
module Solrsrv
|
4
|
+
|
5
|
+
class UpdateConfigGenerator < ::Rails::Generators::Base
|
6
|
+
|
7
|
+
def install_update_config
|
8
|
+
copy_file('solrsrv.yml', 'config/solrsrv.yml')
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.source_root
|
12
|
+
File.join(File.dirname(__FILE__), 'templates')
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
data/lib/solrsrv.rb
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
namespace :solrsrv do
|
2
|
+
|
3
|
+
desc 'start solr'
|
4
|
+
task :start do
|
5
|
+
cfg = solr_server_config
|
6
|
+
command = %w(bundle exec solrsrv)
|
7
|
+
command << "--pid-file #{cfg[:pid_file]}"
|
8
|
+
command << "--data-dir #{cfg[:data_dir]}"
|
9
|
+
if cfg[:log_dir]
|
10
|
+
FileUtils.mkdir_p(cfg[:log_dir])
|
11
|
+
command << "--log-dir #{cfg[:log_dir]}"
|
12
|
+
end
|
13
|
+
command << "--port #{cfg[:port]}"
|
14
|
+
sh "#{command.join(' ')} &> #{Rails.root}/log/solr_#{Rails.env}.log &"
|
15
|
+
end
|
16
|
+
|
17
|
+
desc 'Stop solr'
|
18
|
+
task :stop do
|
19
|
+
cfg = solr_server_config
|
20
|
+
pid_file = cfg[:pid_file]
|
21
|
+
if pid_file && File.exists?(pid_file)
|
22
|
+
pid = File.read(pid_file)
|
23
|
+
puts 'stopping solr'
|
24
|
+
%x(kill #{pid})
|
25
|
+
File.unlink(pid_file)
|
26
|
+
else
|
27
|
+
puts 'solr is not running'
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
def solr_server_config
|
34
|
+
configuration_file = File.join(Rails.root, 'config/solrsrv.yml')
|
35
|
+
if File.exists? configuration_file
|
36
|
+
config = YAML.load_file(configuration_file)[Rails.env].symbolize_keys
|
37
|
+
%w(log_dir data_dir pid_file).map(&:to_sym).each do |entry|
|
38
|
+
config[entry] = File.expand_path(config[entry]) if config[entry]
|
39
|
+
end
|
40
|
+
else
|
41
|
+
config = {
|
42
|
+
:port => { 'development' => 8981, 'test' => 8982, 'production' => 8983 }[Rails.env],
|
43
|
+
:log_dir => "#{Rails.root}/log/solr/#{Rails.env}",
|
44
|
+
:data_dir => "#{Rails.root}/tmp/solr_data/#{Rails.env}",
|
45
|
+
:pid_file => "#{Rails.root}/tmp/pids/solr_#{Rails.env}.pid"
|
46
|
+
}
|
47
|
+
end
|
48
|
+
return config
|
49
|
+
end
|
data/solrsrv.gemspec
ADDED
@@ -0,0 +1,143 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{solrsrv}
|
8
|
+
s.version = "1.0.0"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Geraud Boyer"]
|
12
|
+
s.date = %q{2010-08-24}
|
13
|
+
s.default_executable = %q{solrsrv}
|
14
|
+
s.description = %q{This gem is a very basic installation of solr}
|
15
|
+
s.email = %q{geraud@gmail.com}
|
16
|
+
s.executables = ["solrsrv"]
|
17
|
+
s.extra_rdoc_files = [
|
18
|
+
"LICENSE",
|
19
|
+
"README.md"
|
20
|
+
]
|
21
|
+
s.files = [
|
22
|
+
".document",
|
23
|
+
".gitignore",
|
24
|
+
"LICENSE",
|
25
|
+
"README.md",
|
26
|
+
"Rakefile",
|
27
|
+
"VERSION",
|
28
|
+
"apache-solr-1.4.0/README.txt",
|
29
|
+
"apache-solr-1.4.0/etc/jetty.xml",
|
30
|
+
"apache-solr-1.4.0/etc/webdefault.xml",
|
31
|
+
"apache-solr-1.4.0/example-DIH/README.txt",
|
32
|
+
"apache-solr-1.4.0/example-DIH/hsqldb/ex.backup",
|
33
|
+
"apache-solr-1.4.0/example-DIH/hsqldb/ex.data",
|
34
|
+
"apache-solr-1.4.0/example-DIH/hsqldb/ex.log",
|
35
|
+
"apache-solr-1.4.0/example-DIH/hsqldb/ex.properties",
|
36
|
+
"apache-solr-1.4.0/example-DIH/hsqldb/ex.script",
|
37
|
+
"apache-solr-1.4.0/example-DIH/solr/db/conf/admin-extra.html",
|
38
|
+
"apache-solr-1.4.0/example-DIH/solr/db/conf/db-data-config.xml",
|
39
|
+
"apache-solr-1.4.0/example-DIH/solr/db/conf/elevate.xml",
|
40
|
+
"apache-solr-1.4.0/example-DIH/solr/db/conf/protwords.txt",
|
41
|
+
"apache-solr-1.4.0/example-DIH/solr/db/conf/schema.xml",
|
42
|
+
"apache-solr-1.4.0/example-DIH/solr/db/conf/scripts.conf",
|
43
|
+
"apache-solr-1.4.0/example-DIH/solr/db/conf/solrconfig.xml",
|
44
|
+
"apache-solr-1.4.0/example-DIH/solr/db/conf/stopwords.txt",
|
45
|
+
"apache-solr-1.4.0/example-DIH/solr/db/conf/synonyms.txt",
|
46
|
+
"apache-solr-1.4.0/example-DIH/solr/db/conf/xslt/example.xsl",
|
47
|
+
"apache-solr-1.4.0/example-DIH/solr/db/conf/xslt/example_atom.xsl",
|
48
|
+
"apache-solr-1.4.0/example-DIH/solr/db/conf/xslt/example_rss.xsl",
|
49
|
+
"apache-solr-1.4.0/example-DIH/solr/db/conf/xslt/luke.xsl",
|
50
|
+
"apache-solr-1.4.0/example-DIH/solr/db/lib/hsqldb-1.8.0.10.jar",
|
51
|
+
"apache-solr-1.4.0/example-DIH/solr/mail/conf/data-config.xml",
|
52
|
+
"apache-solr-1.4.0/example-DIH/solr/mail/conf/protwords.txt",
|
53
|
+
"apache-solr-1.4.0/example-DIH/solr/mail/conf/schema.xml",
|
54
|
+
"apache-solr-1.4.0/example-DIH/solr/mail/conf/solrconfig.xml",
|
55
|
+
"apache-solr-1.4.0/example-DIH/solr/mail/conf/stopwords.txt",
|
56
|
+
"apache-solr-1.4.0/example-DIH/solr/mail/conf/synonyms.txt",
|
57
|
+
"apache-solr-1.4.0/example-DIH/solr/rss/conf/admin-extra.html",
|
58
|
+
"apache-solr-1.4.0/example-DIH/solr/rss/conf/elevate.xml",
|
59
|
+
"apache-solr-1.4.0/example-DIH/solr/rss/conf/protwords.txt",
|
60
|
+
"apache-solr-1.4.0/example-DIH/solr/rss/conf/rss-data-config.xml",
|
61
|
+
"apache-solr-1.4.0/example-DIH/solr/rss/conf/schema.xml",
|
62
|
+
"apache-solr-1.4.0/example-DIH/solr/rss/conf/scripts.conf",
|
63
|
+
"apache-solr-1.4.0/example-DIH/solr/rss/conf/solrconfig.xml",
|
64
|
+
"apache-solr-1.4.0/example-DIH/solr/rss/conf/stopwords.txt",
|
65
|
+
"apache-solr-1.4.0/example-DIH/solr/rss/conf/synonyms.txt",
|
66
|
+
"apache-solr-1.4.0/example-DIH/solr/solr.xml",
|
67
|
+
"apache-solr-1.4.0/exampledocs/books.csv",
|
68
|
+
"apache-solr-1.4.0/exampledocs/hd.xml",
|
69
|
+
"apache-solr-1.4.0/exampledocs/ipod_other.xml",
|
70
|
+
"apache-solr-1.4.0/exampledocs/ipod_video.xml",
|
71
|
+
"apache-solr-1.4.0/exampledocs/mem.xml",
|
72
|
+
"apache-solr-1.4.0/exampledocs/monitor.xml",
|
73
|
+
"apache-solr-1.4.0/exampledocs/monitor2.xml",
|
74
|
+
"apache-solr-1.4.0/exampledocs/mp500.xml",
|
75
|
+
"apache-solr-1.4.0/exampledocs/payload.xml",
|
76
|
+
"apache-solr-1.4.0/exampledocs/post.jar",
|
77
|
+
"apache-solr-1.4.0/exampledocs/post.sh",
|
78
|
+
"apache-solr-1.4.0/exampledocs/sd500.xml",
|
79
|
+
"apache-solr-1.4.0/exampledocs/solr.xml",
|
80
|
+
"apache-solr-1.4.0/exampledocs/test_utf8.sh",
|
81
|
+
"apache-solr-1.4.0/exampledocs/utf8-example.xml",
|
82
|
+
"apache-solr-1.4.0/exampledocs/vidcard.xml",
|
83
|
+
"apache-solr-1.4.0/lib/jetty-6.1.3.jar",
|
84
|
+
"apache-solr-1.4.0/lib/jetty-util-6.1.3.jar",
|
85
|
+
"apache-solr-1.4.0/lib/jsp-2.1/ant-1.6.5.jar",
|
86
|
+
"apache-solr-1.4.0/lib/jsp-2.1/core-3.1.1.jar",
|
87
|
+
"apache-solr-1.4.0/lib/jsp-2.1/jsp-2.1.jar",
|
88
|
+
"apache-solr-1.4.0/lib/jsp-2.1/jsp-api-2.1.jar",
|
89
|
+
"apache-solr-1.4.0/lib/servlet-api-2.5-6.1.3.jar",
|
90
|
+
"apache-solr-1.4.0/logs/.gitkeep",
|
91
|
+
"apache-solr-1.4.0/multicore/README.txt",
|
92
|
+
"apache-solr-1.4.0/multicore/core0/conf/schema.xml",
|
93
|
+
"apache-solr-1.4.0/multicore/core0/conf/solrconfig.xml",
|
94
|
+
"apache-solr-1.4.0/multicore/core1/conf/schema.xml",
|
95
|
+
"apache-solr-1.4.0/multicore/core1/conf/solrconfig.xml",
|
96
|
+
"apache-solr-1.4.0/multicore/exampledocs/ipod_other.xml",
|
97
|
+
"apache-solr-1.4.0/multicore/exampledocs/ipod_video.xml",
|
98
|
+
"apache-solr-1.4.0/multicore/solr.xml",
|
99
|
+
"apache-solr-1.4.0/solr/README.txt",
|
100
|
+
"apache-solr-1.4.0/solr/conf/admin-extra.html",
|
101
|
+
"apache-solr-1.4.0/solr/conf/elevate.xml",
|
102
|
+
"apache-solr-1.4.0/solr/conf/mapping-ISOLatin1Accent.txt",
|
103
|
+
"apache-solr-1.4.0/solr/conf/protwords.txt",
|
104
|
+
"apache-solr-1.4.0/solr/conf/schema.xml",
|
105
|
+
"apache-solr-1.4.0/solr/conf/scripts.conf",
|
106
|
+
"apache-solr-1.4.0/solr/conf/solrconfig.xml",
|
107
|
+
"apache-solr-1.4.0/solr/conf/spellings.txt",
|
108
|
+
"apache-solr-1.4.0/solr/conf/stopwords.txt",
|
109
|
+
"apache-solr-1.4.0/solr/conf/synonyms.txt",
|
110
|
+
"apache-solr-1.4.0/solr/conf/xslt/example.xsl",
|
111
|
+
"apache-solr-1.4.0/solr/conf/xslt/example_atom.xsl",
|
112
|
+
"apache-solr-1.4.0/solr/conf/xslt/example_rss.xsl",
|
113
|
+
"apache-solr-1.4.0/solr/conf/xslt/luke.xsl",
|
114
|
+
"apache-solr-1.4.0/start.jar",
|
115
|
+
"apache-solr-1.4.0/webapps/solr.war",
|
116
|
+
"bin/solrsrv",
|
117
|
+
"lib/generators/solrsrv/update_config/templates/solrsrv.yml",
|
118
|
+
"lib/generators/solrsrv/update_config/update_config_generator.rb",
|
119
|
+
"lib/solrsrv.rb",
|
120
|
+
"lib/solrsrv/engine.rb",
|
121
|
+
"lib/tasks/solrsrv.rake",
|
122
|
+
"solrsrv.gemspec"
|
123
|
+
]
|
124
|
+
s.homepage = %q{http://github.com/geraud/solrsrv}
|
125
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
126
|
+
s.require_paths = ["lib"]
|
127
|
+
s.rubygems_version = %q{1.3.7}
|
128
|
+
s.summary = %q{Gem wrapping for solr server}
|
129
|
+
|
130
|
+
if s.respond_to? :specification_version then
|
131
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
132
|
+
s.specification_version = 3
|
133
|
+
|
134
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
135
|
+
s.add_runtime_dependency(%q<rails>, ["= 3.0.0.rc"])
|
136
|
+
else
|
137
|
+
s.add_dependency(%q<rails>, ["= 3.0.0.rc"])
|
138
|
+
end
|
139
|
+
else
|
140
|
+
s.add_dependency(%q<rails>, ["= 3.0.0.rc"])
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|