acts_as_solr 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (163) hide show
  1. data/.gitignore +8 -0
  2. data/CHANGE_LOG +233 -0
  3. data/FORKED_CHANGES +3 -0
  4. data/LICENSE +19 -0
  5. data/README.markdown +94 -0
  6. data/README.rdoc +84 -0
  7. data/Rakefile +57 -0
  8. data/TESTING_THE_PLUGIN +25 -0
  9. data/VERSION +1 -0
  10. data/acts_as_solr.gemspec +237 -0
  11. data/config/solr.yml +15 -0
  12. data/config/solr_environment.rb +22 -0
  13. data/init.rb +21 -0
  14. data/install.rb +11 -0
  15. data/lib/acts_as_solr.rb +61 -0
  16. data/lib/acts_methods.rb +284 -0
  17. data/lib/class_methods.rb +239 -0
  18. data/lib/common_methods.rb +89 -0
  19. data/lib/deprecation.rb +61 -0
  20. data/lib/instance_methods.rb +181 -0
  21. data/lib/lazy_document.rb +18 -0
  22. data/lib/parser_methods.rb +230 -0
  23. data/lib/search_results.rb +69 -0
  24. data/lib/solr/connection.rb +191 -0
  25. data/lib/solr/document.rb +78 -0
  26. data/lib/solr/exception.rb +13 -0
  27. data/lib/solr/field.rb +39 -0
  28. data/lib/solr/importer/array_mapper.rb +26 -0
  29. data/lib/solr/importer/delimited_file_source.rb +38 -0
  30. data/lib/solr/importer/hpricot_mapper.rb +27 -0
  31. data/lib/solr/importer/mapper.rb +51 -0
  32. data/lib/solr/importer/solr_source.rb +43 -0
  33. data/lib/solr/importer/xpath_mapper.rb +35 -0
  34. data/lib/solr/importer.rb +19 -0
  35. data/lib/solr/indexer.rb +52 -0
  36. data/lib/solr/request/add_document.rb +63 -0
  37. data/lib/solr/request/base.rb +36 -0
  38. data/lib/solr/request/commit.rb +31 -0
  39. data/lib/solr/request/delete.rb +50 -0
  40. data/lib/solr/request/dismax.rb +46 -0
  41. data/lib/solr/request/index_info.rb +22 -0
  42. data/lib/solr/request/modify_document.rb +51 -0
  43. data/lib/solr/request/optimize.rb +21 -0
  44. data/lib/solr/request/ping.rb +36 -0
  45. data/lib/solr/request/select.rb +56 -0
  46. data/lib/solr/request/spellcheck.rb +30 -0
  47. data/lib/solr/request/standard.rb +402 -0
  48. data/lib/solr/request/update.rb +23 -0
  49. data/lib/solr/request.rb +26 -0
  50. data/lib/solr/response/add_document.rb +17 -0
  51. data/lib/solr/response/base.rb +42 -0
  52. data/lib/solr/response/commit.rb +17 -0
  53. data/lib/solr/response/delete.rb +13 -0
  54. data/lib/solr/response/dismax.rb +8 -0
  55. data/lib/solr/response/index_info.rb +26 -0
  56. data/lib/solr/response/modify_document.rb +17 -0
  57. data/lib/solr/response/optimize.rb +14 -0
  58. data/lib/solr/response/ping.rb +28 -0
  59. data/lib/solr/response/ruby.rb +42 -0
  60. data/lib/solr/response/select.rb +17 -0
  61. data/lib/solr/response/spellcheck.rb +20 -0
  62. data/lib/solr/response/standard.rb +64 -0
  63. data/lib/solr/response/xml.rb +42 -0
  64. data/lib/solr/response.rb +27 -0
  65. data/lib/solr/solrtasks.rb +27 -0
  66. data/lib/solr/util.rb +32 -0
  67. data/lib/solr/xml.rb +44 -0
  68. data/lib/solr.rb +21 -0
  69. data/lib/solr_fixtures.rb +13 -0
  70. data/lib/tasks/database.rake +18 -0
  71. data/lib/tasks/solr.rake +137 -0
  72. data/lib/tasks/test.rake +7 -0
  73. data/lib/will_paginate_support.rb +12 -0
  74. data/solr/CHANGES.txt +1207 -0
  75. data/solr/LICENSE.txt +712 -0
  76. data/solr/NOTICE.txt +90 -0
  77. data/solr/etc/jetty.xml +205 -0
  78. data/solr/etc/webdefault.xml +379 -0
  79. data/solr/lib/easymock.jar +0 -0
  80. data/solr/lib/jetty-6.1.3.jar +0 -0
  81. data/solr/lib/jetty-util-6.1.3.jar +0 -0
  82. data/solr/lib/jsp-2.1/ant-1.6.5.jar +0 -0
  83. data/solr/lib/jsp-2.1/core-3.1.1.jar +0 -0
  84. data/solr/lib/jsp-2.1/jsp-2.1.jar +0 -0
  85. data/solr/lib/jsp-2.1/jsp-api-2.1.jar +0 -0
  86. data/solr/lib/servlet-api-2.4.jar +0 -0
  87. data/solr/lib/servlet-api-2.5-6.1.3.jar +0 -0
  88. data/solr/lib/xpp3-1.1.3.4.O.jar +0 -0
  89. data/solr/logs/.empty-dir-for-git +0 -0
  90. data/solr/solr/README.txt +52 -0
  91. data/solr/solr/bin/abc +176 -0
  92. data/solr/solr/bin/abo +176 -0
  93. data/solr/solr/bin/backup +108 -0
  94. data/solr/solr/bin/backupcleaner +142 -0
  95. data/solr/solr/bin/commit +128 -0
  96. data/solr/solr/bin/optimize +129 -0
  97. data/solr/solr/bin/readercycle +129 -0
  98. data/solr/solr/bin/rsyncd-disable +77 -0
  99. data/solr/solr/bin/rsyncd-enable +76 -0
  100. data/solr/solr/bin/rsyncd-start +145 -0
  101. data/solr/solr/bin/rsyncd-stop +105 -0
  102. data/solr/solr/bin/scripts-util +83 -0
  103. data/solr/solr/bin/snapcleaner +148 -0
  104. data/solr/solr/bin/snapinstaller +168 -0
  105. data/solr/solr/bin/snappuller +248 -0
  106. data/solr/solr/bin/snappuller-disable +77 -0
  107. data/solr/solr/bin/snappuller-enable +77 -0
  108. data/solr/solr/bin/snapshooter +109 -0
  109. data/solr/solr/conf/admin-extra.html +31 -0
  110. data/solr/solr/conf/protwords.txt +21 -0
  111. data/solr/solr/conf/schema.xml +126 -0
  112. data/solr/solr/conf/scripts.conf +24 -0
  113. data/solr/solr/conf/solrconfig.xml +458 -0
  114. data/solr/solr/conf/stopwords.txt +57 -0
  115. data/solr/solr/conf/synonyms.txt +31 -0
  116. data/solr/solr/conf/xslt/example.xsl +132 -0
  117. data/solr/solr/conf/xslt/example_atom.xsl +63 -0
  118. data/solr/solr/conf/xslt/example_rss.xsl +62 -0
  119. data/solr/start.jar +0 -0
  120. data/solr/tmp/.empty-dir-for-git +0 -0
  121. data/solr/webapps/solr.war +0 -0
  122. data/test/config/solr.yml +2 -0
  123. data/test/db/connections/mysql/connection.rb +10 -0
  124. data/test/db/connections/sqlite/connection.rb +8 -0
  125. data/test/db/migrate/001_create_books.rb +15 -0
  126. data/test/db/migrate/002_create_movies.rb +12 -0
  127. data/test/db/migrate/003_create_categories.rb +11 -0
  128. data/test/db/migrate/004_create_electronics.rb +16 -0
  129. data/test/db/migrate/005_create_authors.rb +12 -0
  130. data/test/db/migrate/006_create_postings.rb +9 -0
  131. data/test/db/migrate/007_create_posts.rb +13 -0
  132. data/test/db/migrate/008_create_gadgets.rb +11 -0
  133. data/test/fixtures/authors.yml +9 -0
  134. data/test/fixtures/books.yml +13 -0
  135. data/test/fixtures/categories.yml +7 -0
  136. data/test/fixtures/db_definitions/mysql.sql +41 -0
  137. data/test/fixtures/electronics.yml +49 -0
  138. data/test/fixtures/movies.yml +9 -0
  139. data/test/fixtures/postings.yml +10 -0
  140. data/test/functional/acts_as_solr_test.rb +413 -0
  141. data/test/functional/association_indexing_test.rb +37 -0
  142. data/test/functional/faceted_search_test.rb +163 -0
  143. data/test/functional/multi_solr_search_test.rb +51 -0
  144. data/test/models/author.rb +10 -0
  145. data/test/models/book.rb +10 -0
  146. data/test/models/category.rb +8 -0
  147. data/test/models/electronic.rb +21 -0
  148. data/test/models/gadget.rb +9 -0
  149. data/test/models/movie.rb +17 -0
  150. data/test/models/novel.rb +2 -0
  151. data/test/models/post.rb +3 -0
  152. data/test/models/posting.rb +11 -0
  153. data/test/test_helper.rb +51 -0
  154. data/test/unit/acts_methods_shoulda.rb +70 -0
  155. data/test/unit/class_methods_shoulda.rb +90 -0
  156. data/test/unit/common_methods_shoulda.rb +112 -0
  157. data/test/unit/instance_methods_shoulda.rb +326 -0
  158. data/test/unit/lazy_document_shoulda.rb +35 -0
  159. data/test/unit/parser_instance.rb +19 -0
  160. data/test/unit/parser_methods_shoulda.rb +279 -0
  161. data/test/unit/solr_instance.rb +46 -0
  162. data/test/unit/test_helper.rb +26 -0
  163. metadata +259 -0
@@ -0,0 +1,379 @@
1
+ <?xml version="1.0" encoding="ISO-8859-1"?>
2
+
3
+ <!-- ===================================================================== -->
4
+ <!-- This file contains the default descriptor for web applications. -->
5
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
6
+ <!-- The intent of this descriptor is to include jetty specific or common -->
7
+ <!-- configuration for all webapps. If a context has a webdefault.xml -->
8
+ <!-- descriptor, it is applied before the contexts own web.xml file -->
9
+ <!-- -->
10
+ <!-- A context may be assigned a default descriptor by: -->
11
+ <!-- + Calling WebApplicationContext.setDefaultsDescriptor -->
12
+ <!-- + Passed an arg to addWebApplications -->
13
+ <!-- -->
14
+ <!-- This file is used both as the resource within the jetty.jar (which is -->
15
+ <!-- used as the default if no explicit defaults descriptor is set) and it -->
16
+ <!-- is copied to the etc directory of the Jetty distro and explicitly -->
17
+ <!-- by the jetty.xml file. -->
18
+ <!-- -->
19
+ <!-- ===================================================================== -->
20
+ <web-app
21
+ xmlns="http://java.sun.com/xml/ns/javaee"
22
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
23
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
24
+ metadata-complete="true"
25
+ version="2.5">
26
+
27
+ <description>
28
+ Default web.xml file.
29
+ This file is applied to a Web application before it's own WEB_INF/web.xml file
30
+ </description>
31
+
32
+
33
+ <!-- ==================================================================== -->
34
+ <!-- Context params to control Session Cookies -->
35
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
36
+ <!-- UNCOMMENT TO ACTIVATE
37
+ <context-param>
38
+ <param-name>org.mortbay.jetty.servlet.SessionDomain</param-name>
39
+ <param-value>127.0.0.1</param-value>
40
+ </context-param>
41
+
42
+ <context-param>
43
+ <param-name>org.mortbay.jetty.servlet.SessionPath</param-name>
44
+ <param-value>/</param-value>
45
+ </context-param>
46
+
47
+ <context-param>
48
+ <param-name>org.mortbay.jetty.servlet.MaxAge</param-name>
49
+ <param-value>-1</param-value>
50
+ </context-param>
51
+ -->
52
+
53
+ <context-param>
54
+ <param-name>org.mortbay.jetty.webapp.NoTLDJarPattern</param-name>
55
+ <param-value>start.jar|ant-.*\.jar|dojo-.*\.jar|jetty-.*\.jar|jsp-api-.*\.jar|junit-.*\.jar|servlet-api-.*\.jar|dnsns\.jar|rt\.jar|jsse\.jar|tools\.jar|sunpkcs11\.jar|sunjce_provider\.jar|xerces.*\.jar|</param-value>
56
+ </context-param>
57
+
58
+
59
+
60
+ <!-- ==================================================================== -->
61
+ <!-- The default servlet. -->
62
+ <!-- This servlet, normally mapped to /, provides the handling for static -->
63
+ <!-- content, OPTIONS and TRACE methods for the context. -->
64
+ <!-- The following initParameters are supported: -->
65
+ <!-- -->
66
+ <!-- acceptRanges If true, range requests and responses are -->
67
+ <!-- supported -->
68
+ <!-- -->
69
+ <!-- dirAllowed If true, directory listings are returned if no -->
70
+ <!-- welcome file is found. Else 403 Forbidden. -->
71
+ <!-- -->
72
+ <!-- redirectWelcome If true, redirect welcome file requests -->
73
+ <!-- else use request dispatcher forwards -->
74
+ <!-- -->
75
+ <!-- gzip If set to true, then static content will be served-->
76
+ <!-- as gzip content encoded if a matching resource is -->
77
+ <!-- found ending with ".gz" -->
78
+ <!-- -->
79
+ <!-- resoureBase Can be set to replace the context resource base -->
80
+ <!-- -->
81
+ <!-- relativeResourceBase -->
82
+ <!-- Set with a pathname relative to the base of the -->
83
+ <!-- servlet context root. Useful for only serving -->
84
+ <!-- static content from only specific subdirectories. -->
85
+ <!-- -->
86
+ <!-- useFileMappedBuffer -->
87
+ <!-- If set to true (the default), a memory mapped -->
88
+ <!-- file buffer will be used to serve static content -->
89
+ <!-- when using an NIO connector. Setting this value -->
90
+ <!-- to false means that a direct buffer will be used -->
91
+ <!-- instead. If you are having trouble with Windows -->
92
+ <!-- file locking, set this to false. -->
93
+ <!-- -->
94
+ <!-- cacheControl If set, all static content will have this value -->
95
+ <!-- set as the cache-control header. -->
96
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
97
+ <servlet>
98
+ <servlet-name>default</servlet-name>
99
+ <servlet-class>org.mortbay.jetty.servlet.DefaultServlet</servlet-class>
100
+ <init-param>
101
+ <param-name>acceptRanges</param-name>
102
+ <param-value>true</param-value>
103
+ </init-param>
104
+ <init-param>
105
+ <param-name>dirAllowed</param-name>
106
+ <param-value>true</param-value>
107
+ </init-param>
108
+ <init-param>
109
+ <param-name>redirectWelcome</param-name>
110
+ <param-value>false</param-value>
111
+ </init-param>
112
+ <init-param>
113
+ <param-name>maxCacheSize</param-name>
114
+ <param-value>2000000</param-value>
115
+ </init-param>
116
+ <init-param>
117
+ <param-name>maxCachedFileSize</param-name>
118
+ <param-value>254000</param-value>
119
+ </init-param>
120
+ <init-param>
121
+ <param-name>maxCachedFiles</param-name>
122
+ <param-value>1000</param-value>
123
+ </init-param>
124
+ <init-param>
125
+ <param-name>gzip</param-name>
126
+ <param-value>false</param-value>
127
+ </init-param>
128
+ <init-param>
129
+ <param-name>useFileMappedBuffer</param-name>
130
+ <param-value>false</param-value>
131
+ </init-param>
132
+ <!--
133
+ <init-param>
134
+ <param-name>cacheControl</param-name>
135
+ <param-value>max-age=3600,public</param-value>
136
+ </init-param>
137
+ -->
138
+ <load-on-startup>0</load-on-startup>
139
+ </servlet>
140
+
141
+ <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
142
+
143
+
144
+ <!-- ==================================================================== -->
145
+ <!-- JSP Servlet -->
146
+ <!-- This is the jasper JSP servlet from the jakarta project -->
147
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
148
+ <!-- The JSP page compiler and execution servlet, which is the mechanism -->
149
+ <!-- used by Glassfish to support JSP pages. Traditionally, this servlet -->
150
+ <!-- is mapped to URL patterh "*.jsp". This servlet supports the -->
151
+ <!-- following initialization parameters (default values are in square -->
152
+ <!-- brackets): -->
153
+ <!-- -->
154
+ <!-- checkInterval If development is false and reloading is true, -->
155
+ <!-- background compiles are enabled. checkInterval -->
156
+ <!-- is the time in seconds between checks to see -->
157
+ <!-- if a JSP page needs to be recompiled. [300] -->
158
+ <!-- -->
159
+ <!-- compiler Which compiler Ant should use to compile JSP -->
160
+ <!-- pages. See the Ant documenation for more -->
161
+ <!-- information. [javac] -->
162
+ <!-- -->
163
+ <!-- classdebuginfo Should the class file be compiled with -->
164
+ <!-- debugging information? [true] -->
165
+ <!-- -->
166
+ <!-- classpath What class path should I use while compiling -->
167
+ <!-- generated servlets? [Created dynamically -->
168
+ <!-- based on the current web application] -->
169
+ <!-- Set to ? to make the container explicitly set -->
170
+ <!-- this parameter. -->
171
+ <!-- -->
172
+ <!-- development Is Jasper used in development mode (will check -->
173
+ <!-- for JSP modification on every access)? [true] -->
174
+ <!-- -->
175
+ <!-- enablePooling Determines whether tag handler pooling is -->
176
+ <!-- enabled [true] -->
177
+ <!-- -->
178
+ <!-- fork Tell Ant to fork compiles of JSP pages so that -->
179
+ <!-- a separate JVM is used for JSP page compiles -->
180
+ <!-- from the one Tomcat is running in. [true] -->
181
+ <!-- -->
182
+ <!-- ieClassId The class-id value to be sent to Internet -->
183
+ <!-- Explorer when using <jsp:plugin> tags. -->
184
+ <!-- [clsid:8AD9C840-044E-11D1-B3E9-00805F499D93] -->
185
+ <!-- -->
186
+ <!-- javaEncoding Java file encoding to use for generating java -->
187
+ <!-- source files. [UTF-8] -->
188
+ <!-- -->
189
+ <!-- keepgenerated Should we keep the generated Java source code -->
190
+ <!-- for each page instead of deleting it? [true] -->
191
+ <!-- -->
192
+ <!-- logVerbosityLevel The level of detailed messages to be produced -->
193
+ <!-- by this servlet. Increasing levels cause the -->
194
+ <!-- generation of more messages. Valid values are -->
195
+ <!-- FATAL, ERROR, WARNING, INFORMATION, and DEBUG. -->
196
+ <!-- [WARNING] -->
197
+ <!-- -->
198
+ <!-- mappedfile Should we generate static content with one -->
199
+ <!-- print statement per input line, to ease -->
200
+ <!-- debugging? [false] -->
201
+ <!-- -->
202
+ <!-- -->
203
+ <!-- reloading Should Jasper check for modified JSPs? [true] -->
204
+ <!-- -->
205
+ <!-- suppressSmap Should the generation of SMAP info for JSR45 -->
206
+ <!-- debugging be suppressed? [false] -->
207
+ <!-- -->
208
+ <!-- dumpSmap Should the SMAP info for JSR45 debugging be -->
209
+ <!-- dumped to a file? [false] -->
210
+ <!-- False if suppressSmap is true -->
211
+ <!-- -->
212
+ <!-- scratchdir What scratch directory should we use when -->
213
+ <!-- compiling JSP pages? [default work directory -->
214
+ <!-- for the current web application] -->
215
+ <!-- -->
216
+ <!-- tagpoolMaxSize The maximum tag handler pool size [5] -->
217
+ <!-- -->
218
+ <!-- xpoweredBy Determines whether X-Powered-By response -->
219
+ <!-- header is added by generated servlet [false] -->
220
+ <!-- -->
221
+ <!-- If you wish to use Jikes to compile JSP pages: -->
222
+ <!-- Set the init parameter "compiler" to "jikes". Define -->
223
+ <!-- the property "-Dbuild.compiler.emacs=true" when starting Jetty -->
224
+ <!-- to cause Jikes to emit error messages in a format compatible with -->
225
+ <!-- Jasper. -->
226
+ <!-- If you get an error reporting that jikes can't use UTF-8 encoding, -->
227
+ <!-- try setting the init parameter "javaEncoding" to "ISO-8859-1". -->
228
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
229
+ <servlet id="jsp">
230
+ <servlet-name>jsp</servlet-name>
231
+ <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
232
+ <init-param>
233
+ <param-name>logVerbosityLevel</param-name>
234
+ <param-value>DEBUG</param-value>
235
+ </init-param>
236
+ <init-param>
237
+ <param-name>fork</param-name>
238
+ <param-value>false</param-value>
239
+ </init-param>
240
+ <init-param>
241
+ <param-name>xpoweredBy</param-name>
242
+ <param-value>false</param-value>
243
+ </init-param>
244
+ <!--
245
+ <init-param>
246
+ <param-name>classpath</param-name>
247
+ <param-value>?</param-value>
248
+ </init-param>
249
+ -->
250
+ <load-on-startup>0</load-on-startup>
251
+ </servlet>
252
+
253
+ <servlet-mapping>
254
+ <servlet-name>jsp</servlet-name>
255
+ <url-pattern>*.jsp</url-pattern>
256
+ <url-pattern>*.jspf</url-pattern>
257
+ <url-pattern>*.jspx</url-pattern>
258
+ <url-pattern>*.xsp</url-pattern>
259
+ <url-pattern>*.JSP</url-pattern>
260
+ <url-pattern>*.JSPF</url-pattern>
261
+ <url-pattern>*.JSPX</url-pattern>
262
+ <url-pattern>*.XSP</url-pattern>
263
+ </servlet-mapping>
264
+
265
+ <!-- ==================================================================== -->
266
+ <!-- Dynamic Servlet Invoker. -->
267
+ <!-- This servlet invokes anonymous servlets that have not been defined -->
268
+ <!-- in the web.xml or by other means. The first element of the pathInfo -->
269
+ <!-- of a request passed to the envoker is treated as a servlet name for -->
270
+ <!-- an existing servlet, or as a class name of a new servlet. -->
271
+ <!-- This servlet is normally mapped to /servlet/* -->
272
+ <!-- This servlet support the following initParams: -->
273
+ <!-- -->
274
+ <!-- nonContextServlets If false, the invoker can only load -->
275
+ <!-- servlets from the contexts classloader. -->
276
+ <!-- This is false by default and setting this -->
277
+ <!-- to true may have security implications. -->
278
+ <!-- -->
279
+ <!-- verbose If true, log dynamic loads -->
280
+ <!-- -->
281
+ <!-- * All other parameters are copied to the -->
282
+ <!-- each dynamic servlet as init parameters -->
283
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
284
+ <!-- Uncomment for dynamic invocation
285
+ <servlet>
286
+ <servlet-name>invoker</servlet-name>
287
+ <servlet-class>org.mortbay.jetty.servlet.Invoker</servlet-class>
288
+ <init-param>
289
+ <param-name>verbose</param-name>
290
+ <param-value>false</param-value>
291
+ </init-param>
292
+ <init-param>
293
+ <param-name>nonContextServlets</param-name>
294
+ <param-value>false</param-value>
295
+ </init-param>
296
+ <init-param>
297
+ <param-name>dynamicParam</param-name>
298
+ <param-value>anyValue</param-value>
299
+ </init-param>
300
+ <load-on-startup>0</load-on-startup>
301
+ </servlet>
302
+
303
+ <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping>
304
+ -->
305
+
306
+
307
+
308
+ <!-- ==================================================================== -->
309
+ <session-config>
310
+ <session-timeout>30</session-timeout>
311
+ </session-config>
312
+
313
+ <!-- ==================================================================== -->
314
+ <!-- Default MIME mappings -->
315
+ <!-- The default MIME mappings are provided by the mime.properties -->
316
+ <!-- resource in the org.mortbay.jetty.jar file. Additional or modified -->
317
+ <!-- mappings may be specified here -->
318
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
319
+ <!-- UNCOMMENT TO ACTIVATE
320
+ <mime-mapping>
321
+ <extension>mysuffix</extension>
322
+ <mime-type>mymime/type</mime-type>
323
+ </mime-mapping>
324
+ -->
325
+
326
+ <!-- ==================================================================== -->
327
+ <welcome-file-list>
328
+ <welcome-file>index.html</welcome-file>
329
+ <welcome-file>index.htm</welcome-file>
330
+ <welcome-file>index.jsp</welcome-file>
331
+ </welcome-file-list>
332
+
333
+ <!-- ==================================================================== -->
334
+ <locale-encoding-mapping-list>
335
+ <locale-encoding-mapping><locale>ar</locale><encoding>ISO-8859-6</encoding></locale-encoding-mapping>
336
+ <locale-encoding-mapping><locale>be</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
337
+ <locale-encoding-mapping><locale>bg</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
338
+ <locale-encoding-mapping><locale>ca</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
339
+ <locale-encoding-mapping><locale>cs</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
340
+ <locale-encoding-mapping><locale>da</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
341
+ <locale-encoding-mapping><locale>de</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
342
+ <locale-encoding-mapping><locale>el</locale><encoding>ISO-8859-7</encoding></locale-encoding-mapping>
343
+ <locale-encoding-mapping><locale>en</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
344
+ <locale-encoding-mapping><locale>es</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
345
+ <locale-encoding-mapping><locale>et</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
346
+ <locale-encoding-mapping><locale>fi</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
347
+ <locale-encoding-mapping><locale>fr</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
348
+ <locale-encoding-mapping><locale>hr</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
349
+ <locale-encoding-mapping><locale>hu</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
350
+ <locale-encoding-mapping><locale>is</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
351
+ <locale-encoding-mapping><locale>it</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
352
+ <locale-encoding-mapping><locale>iw</locale><encoding>ISO-8859-8</encoding></locale-encoding-mapping>
353
+ <locale-encoding-mapping><locale>ja</locale><encoding>Shift_JIS</encoding></locale-encoding-mapping>
354
+ <locale-encoding-mapping><locale>ko</locale><encoding>EUC-KR</encoding></locale-encoding-mapping>
355
+ <locale-encoding-mapping><locale>lt</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
356
+ <locale-encoding-mapping><locale>lv</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
357
+ <locale-encoding-mapping><locale>mk</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
358
+ <locale-encoding-mapping><locale>nl</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
359
+ <locale-encoding-mapping><locale>no</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
360
+ <locale-encoding-mapping><locale>pl</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
361
+ <locale-encoding-mapping><locale>pt</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
362
+ <locale-encoding-mapping><locale>ro</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
363
+ <locale-encoding-mapping><locale>ru</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
364
+ <locale-encoding-mapping><locale>sh</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
365
+ <locale-encoding-mapping><locale>sk</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
366
+ <locale-encoding-mapping><locale>sl</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
367
+ <locale-encoding-mapping><locale>sq</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
368
+ <locale-encoding-mapping><locale>sr</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
369
+ <locale-encoding-mapping><locale>sv</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
370
+ <locale-encoding-mapping><locale>tr</locale><encoding>ISO-8859-9</encoding></locale-encoding-mapping>
371
+ <locale-encoding-mapping><locale>uk</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
372
+ <locale-encoding-mapping><locale>zh</locale><encoding>GB2312</encoding></locale-encoding-mapping>
373
+ <locale-encoding-mapping><locale>zh_TW</locale><encoding>Big5</encoding></locale-encoding-mapping>
374
+ </locale-encoding-mapping-list>
375
+
376
+
377
+
378
+ </web-app>
379
+
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
File without changes
@@ -0,0 +1,52 @@
1
+ # Licensed to the Apache Software Foundation (ASF) under one or more
2
+ # contributor license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright ownership.
4
+ # The ASF licenses this file to You under the Apache License, Version 2.0
5
+ # (the "License"); you may not use this file except in compliance with
6
+ # the License. You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+
16
+
17
+ Example "Solr Home" Directory
18
+ =============================
19
+
20
+ This directory is provided as an example of what a "Solr Home" directory
21
+ should look like.
22
+
23
+ It's not strictly necessary that you copy all of the files in this
24
+ directory when setting up a new instance of Solr, but it is recommended.
25
+
26
+
27
+ Basic Directory Structure
28
+ -------------------------
29
+
30
+ The Solr Home directory typically contains the following subdirectories...
31
+
32
+ conf/
33
+ This directory is mandatory and must contain your solrconfig.xml
34
+ and schema.xml. Any other optional configuration files would also
35
+ be kept here.
36
+
37
+ data/
38
+ This directory is the default location where Solr will keep your
39
+ index, and is used by the replication scripts for dealing with
40
+ snapshots. You can override this location in the solrconfig.xml
41
+ and scripts.conf files. Solr will create this directory if it
42
+ does not already exist.
43
+
44
+ lib/
45
+ This directory is optional. If it exists, Solr will load any Jars
46
+ found in this directory and use them to resolve any "plugins"
47
+ specified in your solrconfig.xml or schema.xml (ie: Analyzers,
48
+ Request Handlers, etc...)
49
+
50
+ bin/
51
+ This directory is optional. It is the default location used for
52
+ keeping the replication scripts.
data/solr/solr/bin/abc ADDED
@@ -0,0 +1,176 @@
1
+ #!/bin/bash
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
+ # Shell script to make an Atomic Backup after Commit of
19
+ # a Solr Lucene collection.
20
+
21
+ orig_dir=$(pwd)
22
+ cd ${0%/*}/..
23
+ solr_root=$(pwd)
24
+ cd ${orig_dir}
25
+ curl_url=""
26
+
27
+ unset solr_hostname solr_port data_dir webapp_name user verbose debug solr_url
28
+ . ${solr_root}/bin/scripts-util
29
+
30
+ # set up variables
31
+ prog=${0##*/}
32
+ log=${solr_root}/logs/${prog}.log
33
+
34
+ # define usage string
35
+ USAGE="\
36
+ usage: $prog [-h hostname] [-p port] [-d dir] [-w webappname] [-u username] [-U url] [-v] [-V]
37
+ -h specify Solr hostname (defaults to localhost)
38
+ -p specify Solr port number
39
+ -w specify name of Solr webapp (defaults to solr)
40
+ -u specify user to sudo to before running script
41
+ -U specify full update url (overrides -h,-p,-w parameters)
42
+ -d specify directory holding index data
43
+ -v increase verbosity
44
+ -V output debugging info
45
+ "
46
+
47
+ # parse args
48
+ while getopts h:p:d:w:u:U:vV OPTION
49
+ do
50
+ case $OPTION in
51
+ h)
52
+ solr_hostname="$OPTARG"
53
+ ;;
54
+ p)
55
+ solr_port="$OPTARG"
56
+ ;;
57
+ d)
58
+ data_dir="$OPTARG"
59
+ ;;
60
+ w)
61
+ webapp_name="$OPTARG"
62
+ ;;
63
+ u)
64
+ user="$OPTARG"
65
+ ;;
66
+ U)
67
+ solr_url="$OPTARG"
68
+ ;;
69
+ v)
70
+ verbose="v"
71
+ ;;
72
+ V)
73
+ debug="V"
74
+ ;;
75
+ *)
76
+ echo "$USAGE"
77
+ exit 1
78
+ esac
79
+ done
80
+
81
+ [[ -n $debug ]] && set -x
82
+
83
+ # use default value for data_dir if not specified
84
+ # relative path starts at ${solr_root}
85
+ if [[ -z ${data_dir} ]]
86
+ then
87
+ data_dir=${solr_root}/data
88
+ elif [[ "`echo ${data_dir}|cut -c1`" != "/" ]]
89
+ then
90
+ data_dir=${solr_root}/${data_dir}
91
+ fi
92
+
93
+ if [[ -n ${solr_url} ]]
94
+ then
95
+ curl_url=${solr_url}
96
+ else
97
+ if [[ -z ${solr_port} ]]
98
+ then
99
+ echo "Solr port number missing in $confFile or command line."
100
+ echo "$USAGE"
101
+ exit 1
102
+ fi
103
+
104
+ # use default hostname if not specified
105
+ if [[ -z ${solr_hostname} ]]
106
+ then
107
+ solr_hostname=localhost
108
+ fi
109
+
110
+ # use default webapp name if not specified
111
+ if [[ -z ${webapp_name} ]]
112
+ then
113
+ webapp_name=solr
114
+ fi
115
+ curl_url=http://${solr_hostname}:${solr_port}/${webapp_name}/update
116
+ fi
117
+
118
+ fixUser "$@"
119
+
120
+ start=`date +"%s"`
121
+
122
+ logMessage started by $oldwhoami
123
+ logMessage command: $0 $@
124
+
125
+ logMessage sending commit to Solr server at ${curl_url}
126
+ rs=`curl ${curl_url} -s -H 'Content-type:text/xml; charset=utf-8' -d "<commit/>"`
127
+ if [[ $? != 0 ]]
128
+ then
129
+ logMessage failed to connect to Solr server at ${curl_url}
130
+ logMessage commit failed
131
+ logExit failed 1
132
+ fi
133
+
134
+ # check status of commit request
135
+ echo $rs | grep '<result.*status="0"' > /dev/null 2>&1
136
+ if [[ $? != 0 ]]
137
+ then
138
+ logMessage commit request to Solr at ${curl_url} failed:
139
+ logMessage $rs
140
+ logExit failed 2
141
+ fi
142
+
143
+ # successful commit creates a snapshot file synchronously
144
+ lastsnap=`ls -drt1 ${data_dir}/snapshot.* 2> /dev/null | tail -1 `
145
+
146
+ if [[ $lastsnap == "" ]]
147
+ then
148
+ logMessage commit did not create snapshot at ${curl_url}, backup failed:
149
+ logExit failed 3
150
+ fi
151
+
152
+ name=backup.${lastsnap##*snapshot.}
153
+ temp=temp-${name}
154
+
155
+ if [[ -d ${data_dir}/${name} ]]
156
+ then
157
+ logMessage backup directory ${data_dir}/${name} already exists
158
+ logExit aborted 1
159
+ fi
160
+
161
+ if [[ -d ${data_dir}/${temp} ]]
162
+ then
163
+ logMessage backingup of ${data_dir}/${name} in progress
164
+ logExit aborted 1
165
+ fi
166
+ logMessage making backup ${data_dir}/${name}
167
+
168
+ # clean up after INT/TERM
169
+ trap 'echo cleaning up, please wait ...;/bin/rm -rf ${data_dir}/${name} ${data_dir}/${temp};logExit aborted 13' INT TERM
170
+
171
+ # make a backup using hard links into temporary location
172
+ # then move it into place atomically
173
+ cp -lr ${lastsnap} ${data_dir}/${temp}
174
+ mv ${data_dir}/${temp} ${data_dir}/${name}
175
+
176
+ logExit ended 0