sunspot 2.0.0.pre.120720 → 2.0.0.pre.120924

Sign up to get free protection for your applications and to get access to all the features.
Files changed (299) hide show
  1. data/.gitignore +9 -11
  2. data/.travis.yml +35 -0
  3. data/README.md +863 -0
  4. data/Rakefile +32 -8
  5. data/ci/travis.sh +67 -0
  6. data/sunspot/.gitignore +13 -0
  7. data/{Gemfile → sunspot/Gemfile} +0 -0
  8. data/{History.txt → sunspot/History.txt} +0 -0
  9. data/{LICENSE → sunspot/LICENSE} +0 -0
  10. data/sunspot/Rakefile +13 -0
  11. data/{TODO → sunspot/TODO} +0 -0
  12. data/{lib → sunspot/lib}/light_config.rb +0 -0
  13. data/{lib → sunspot/lib}/sunspot/adapters.rb +85 -5
  14. data/{lib → sunspot/lib}/sunspot/batcher.rb +0 -0
  15. data/{lib → sunspot/lib}/sunspot/class_set.rb +0 -0
  16. data/{lib → sunspot/lib}/sunspot/composite_setup.rb +0 -0
  17. data/{lib → sunspot/lib}/sunspot/configuration.rb +0 -0
  18. data/{lib → sunspot/lib}/sunspot/data_extractor.rb +0 -0
  19. data/{lib → sunspot/lib}/sunspot/dsl/adjustable.rb +0 -0
  20. data/{lib → sunspot/lib}/sunspot/dsl/field_group.rb +2 -2
  21. data/{lib → sunspot/lib}/sunspot/dsl/field_query.rb +1 -1
  22. data/{lib → sunspot/lib}/sunspot/dsl/fields.rb +0 -0
  23. data/{lib → sunspot/lib}/sunspot/dsl/fulltext.rb +0 -0
  24. data/{lib → sunspot/lib}/sunspot/dsl/function.rb +0 -0
  25. data/{lib → sunspot/lib}/sunspot/dsl/functional.rb +0 -0
  26. data/{lib → sunspot/lib}/sunspot/dsl/more_like_this_query.rb +0 -0
  27. data/{lib → sunspot/lib}/sunspot/dsl/paginatable.rb +0 -0
  28. data/{lib → sunspot/lib}/sunspot/dsl/query_facet.rb +0 -0
  29. data/{lib → sunspot/lib}/sunspot/dsl/restriction.rb +0 -0
  30. data/{lib → sunspot/lib}/sunspot/dsl/restriction_with_near.rb +0 -0
  31. data/{lib → sunspot/lib}/sunspot/dsl/scope.rb +8 -11
  32. data/{lib → sunspot/lib}/sunspot/dsl/search.rb +0 -0
  33. data/{lib → sunspot/lib}/sunspot/dsl/standard_query.rb +3 -4
  34. data/{lib → sunspot/lib}/sunspot/dsl.rb +0 -0
  35. data/{lib → sunspot/lib}/sunspot/field.rb +0 -0
  36. data/{lib → sunspot/lib}/sunspot/field_factory.rb +0 -0
  37. data/{lib → sunspot/lib}/sunspot/indexer.rb +0 -0
  38. data/{lib → sunspot/lib}/sunspot/query/abstract_field_facet.rb +1 -1
  39. data/{lib → sunspot/lib}/sunspot/query/bbox.rb +0 -0
  40. data/{lib → sunspot/lib}/sunspot/query/boost_query.rb +0 -0
  41. data/{lib → sunspot/lib}/sunspot/query/common_query.rb +0 -0
  42. data/{lib → sunspot/lib}/sunspot/query/composite_fulltext.rb +0 -0
  43. data/{lib → sunspot/lib}/sunspot/query/connective.rb +0 -0
  44. data/{lib → sunspot/lib}/sunspot/query/date_field_facet.rb +0 -0
  45. data/{lib → sunspot/lib}/sunspot/query/dismax.rb +0 -0
  46. data/{lib → sunspot/lib}/sunspot/query/field_facet.rb +0 -0
  47. data/{lib → sunspot/lib}/sunspot/query/field_group.rb +0 -0
  48. data/{lib → sunspot/lib}/sunspot/query/filter.rb +0 -0
  49. data/{lib → sunspot/lib}/sunspot/query/function_query.rb +0 -0
  50. data/{lib → sunspot/lib}/sunspot/query/geo.rb +0 -0
  51. data/{lib → sunspot/lib}/sunspot/query/geofilt.rb +0 -0
  52. data/{lib → sunspot/lib}/sunspot/query/highlighting.rb +0 -0
  53. data/{lib → sunspot/lib}/sunspot/query/more_like_this.rb +0 -0
  54. data/{lib → sunspot/lib}/sunspot/query/more_like_this_query.rb +0 -0
  55. data/{lib → sunspot/lib}/sunspot/query/pagination.rb +0 -0
  56. data/{lib → sunspot/lib}/sunspot/query/query_facet.rb +0 -0
  57. data/{lib → sunspot/lib}/sunspot/query/range_facet.rb +1 -0
  58. data/{lib → sunspot/lib}/sunspot/query/restriction.rb +12 -0
  59. data/{lib → sunspot/lib}/sunspot/query/scope.rb +0 -0
  60. data/{lib → sunspot/lib}/sunspot/query/sort.rb +0 -0
  61. data/{lib → sunspot/lib}/sunspot/query/sort_composite.rb +0 -0
  62. data/{lib → sunspot/lib}/sunspot/query/standard_query.rb +0 -0
  63. data/{lib → sunspot/lib}/sunspot/query/text_field_boost.rb +0 -0
  64. data/{lib → sunspot/lib}/sunspot/query.rb +0 -0
  65. data/{lib → sunspot/lib}/sunspot/schema.rb +0 -0
  66. data/{lib → sunspot/lib}/sunspot/search/abstract_search.rb +2 -2
  67. data/{lib → sunspot/lib}/sunspot/search/date_facet.rb +0 -0
  68. data/{lib → sunspot/lib}/sunspot/search/facet_row.rb +0 -0
  69. data/{lib → sunspot/lib}/sunspot/search/field_facet.rb +0 -0
  70. data/sunspot/lib/sunspot/search/field_group.rb +70 -0
  71. data/{lib → sunspot/lib}/sunspot/search/group.rb +0 -0
  72. data/{lib → sunspot/lib}/sunspot/search/highlight.rb +0 -0
  73. data/{lib → sunspot/lib}/sunspot/search/hit.rb +0 -0
  74. data/{lib → sunspot/lib}/sunspot/search/hit_enumerable.rb +5 -9
  75. data/{lib → sunspot/lib}/sunspot/search/more_like_this_search.rb +0 -0
  76. data/{lib → sunspot/lib}/sunspot/search/paginated_collection.rb +0 -0
  77. data/{lib → sunspot/lib}/sunspot/search/query_facet.rb +0 -0
  78. data/{lib → sunspot/lib}/sunspot/search/range_facet.rb +0 -0
  79. data/{lib → sunspot/lib}/sunspot/search/standard_search.rb +0 -0
  80. data/{lib → sunspot/lib}/sunspot/search.rb +0 -0
  81. data/{lib → sunspot/lib}/sunspot/session.rb +0 -0
  82. data/{lib → sunspot/lib}/sunspot/session_proxy/abstract_session_proxy.rb +0 -0
  83. data/{lib → sunspot/lib}/sunspot/session_proxy/class_sharding_session_proxy.rb +0 -0
  84. data/{lib → sunspot/lib}/sunspot/session_proxy/id_sharding_session_proxy.rb +0 -0
  85. data/{lib → sunspot/lib}/sunspot/session_proxy/master_slave_session_proxy.rb +0 -0
  86. data/{lib → sunspot/lib}/sunspot/session_proxy/retry_5xx_session_proxy.rb +0 -0
  87. data/{lib → sunspot/lib}/sunspot/session_proxy/sharding_session_proxy.rb +0 -0
  88. data/{lib → sunspot/lib}/sunspot/session_proxy/silent_fail_session_proxy.rb +0 -0
  89. data/{lib → sunspot/lib}/sunspot/session_proxy/thread_local_session_proxy.rb +0 -0
  90. data/{lib → sunspot/lib}/sunspot/session_proxy.rb +0 -0
  91. data/{lib → sunspot/lib}/sunspot/setup.rb +0 -0
  92. data/{lib → sunspot/lib}/sunspot/text_field_setup.rb +0 -0
  93. data/{lib → sunspot/lib}/sunspot/type.rb +0 -0
  94. data/{lib → sunspot/lib}/sunspot/util.rb +0 -0
  95. data/sunspot/lib/sunspot/version.rb +3 -0
  96. data/{lib → sunspot/lib}/sunspot.rb +0 -0
  97. data/{log → sunspot/log}/.gitignore +0 -0
  98. data/{pkg → sunspot/pkg}/.gitignore +0 -0
  99. data/{script → sunspot/script}/console +0 -0
  100. data/sunspot/spec/api/adapters_spec.rb +68 -0
  101. data/{spec → sunspot/spec}/api/batcher_spec.rb +0 -0
  102. data/{spec → sunspot/spec}/api/binding_spec.rb +0 -0
  103. data/{spec → sunspot/spec}/api/class_set_spec.rb +0 -0
  104. data/{spec → sunspot/spec}/api/hit_enumerable_spec.rb +0 -0
  105. data/{spec → sunspot/spec}/api/indexer/attributes_spec.rb +0 -0
  106. data/{spec → sunspot/spec}/api/indexer/batch_spec.rb +0 -0
  107. data/{spec → sunspot/spec}/api/indexer/dynamic_fields_spec.rb +0 -0
  108. data/{spec → sunspot/spec}/api/indexer/fixed_fields_spec.rb +0 -0
  109. data/{spec → sunspot/spec}/api/indexer/fulltext_spec.rb +0 -0
  110. data/{spec → sunspot/spec}/api/indexer/removal_spec.rb +0 -0
  111. data/{spec → sunspot/spec}/api/indexer/spec_helper.rb +0 -0
  112. data/{spec → sunspot/spec}/api/indexer_spec.rb +0 -0
  113. data/{spec → sunspot/spec}/api/query/advanced_manipulation_examples.rb +0 -0
  114. data/{spec → sunspot/spec}/api/query/connectives_examples.rb +12 -0
  115. data/{spec → sunspot/spec}/api/query/dsl_spec.rb +0 -0
  116. data/{spec → sunspot/spec}/api/query/dynamic_fields_examples.rb +0 -0
  117. data/{spec → sunspot/spec}/api/query/faceting_examples.rb +8 -8
  118. data/{spec → sunspot/spec}/api/query/fulltext_examples.rb +0 -0
  119. data/{spec → sunspot/spec}/api/query/function_spec.rb +0 -0
  120. data/{spec → sunspot/spec}/api/query/geo_examples.rb +0 -0
  121. data/{spec → sunspot/spec}/api/query/group_spec.rb +0 -0
  122. data/{spec → sunspot/spec}/api/query/highlighting_examples.rb +0 -0
  123. data/{spec → sunspot/spec}/api/query/more_like_this_spec.rb +0 -0
  124. data/{spec → sunspot/spec}/api/query/ordering_pagination_examples.rb +0 -0
  125. data/{spec → sunspot/spec}/api/query/scope_examples.rb +0 -0
  126. data/{spec → sunspot/spec}/api/query/spatial_examples.rb +0 -0
  127. data/{spec → sunspot/spec}/api/query/spec_helper.rb +0 -0
  128. data/{spec → sunspot/spec}/api/query/standard_spec.rb +0 -0
  129. data/{spec → sunspot/spec}/api/query/text_field_scoping_examples.rb +0 -0
  130. data/{spec → sunspot/spec}/api/query/types_spec.rb +0 -0
  131. data/{spec → sunspot/spec}/api/search/dynamic_fields_spec.rb +0 -0
  132. data/{spec → sunspot/spec}/api/search/faceting_spec.rb +0 -0
  133. data/{spec → sunspot/spec}/api/search/highlighting_spec.rb +0 -0
  134. data/{spec → sunspot/spec}/api/search/hits_spec.rb +16 -0
  135. data/{spec → sunspot/spec}/api/search/paginated_collection_spec.rb +0 -0
  136. data/{spec → sunspot/spec}/api/search/results_spec.rb +0 -0
  137. data/{spec → sunspot/spec}/api/search/search_spec.rb +0 -0
  138. data/{spec → sunspot/spec}/api/search/spec_helper.rb +0 -0
  139. data/{spec → sunspot/spec}/api/session_proxy/class_sharding_session_proxy_spec.rb +0 -0
  140. data/{spec → sunspot/spec}/api/session_proxy/id_sharding_session_proxy_spec.rb +0 -0
  141. data/{spec → sunspot/spec}/api/session_proxy/master_slave_session_proxy_spec.rb +0 -0
  142. data/{spec → sunspot/spec}/api/session_proxy/retry_5xx_session_proxy_spec.rb +5 -0
  143. data/{spec → sunspot/spec}/api/session_proxy/sharding_session_proxy_spec.rb +0 -0
  144. data/{spec → sunspot/spec}/api/session_proxy/silent_fail_session_proxy_spec.rb +0 -0
  145. data/{spec → sunspot/spec}/api/session_proxy/spec_helper.rb +0 -0
  146. data/{spec → sunspot/spec}/api/session_proxy/thread_local_session_proxy_spec.rb +0 -0
  147. data/{spec → sunspot/spec}/api/session_spec.rb +0 -0
  148. data/{spec → sunspot/spec}/api/spec_helper.rb +0 -0
  149. data/{spec → sunspot/spec}/api/sunspot_spec.rb +2 -2
  150. data/{spec → sunspot/spec}/ext.rb +0 -0
  151. data/{spec → sunspot/spec}/helpers/indexer_helper.rb +0 -0
  152. data/{spec → sunspot/spec}/helpers/integration_helper.rb +0 -0
  153. data/{spec → sunspot/spec}/helpers/mock_session_helper.rb +0 -0
  154. data/{spec → sunspot/spec}/helpers/query_helper.rb +0 -0
  155. data/{spec → sunspot/spec}/helpers/search_helper.rb +0 -0
  156. data/{spec → sunspot/spec}/integration/dynamic_fields_spec.rb +0 -0
  157. data/{spec → sunspot/spec}/integration/faceting_spec.rb +26 -0
  158. data/{spec → sunspot/spec}/integration/field_grouping_spec.rb +0 -0
  159. data/{spec → sunspot/spec}/integration/geospatial_spec.rb +11 -0
  160. data/{spec → sunspot/spec}/integration/highlighting_spec.rb +0 -0
  161. data/{spec → sunspot/spec}/integration/indexing_spec.rb +0 -0
  162. data/{spec → sunspot/spec}/integration/keyword_search_spec.rb +0 -0
  163. data/{spec → sunspot/spec}/integration/local_search_spec.rb +0 -0
  164. data/{spec → sunspot/spec}/integration/more_like_this_spec.rb +0 -0
  165. data/{spec → sunspot/spec}/integration/scoped_search_spec.rb +0 -0
  166. data/{spec → sunspot/spec}/integration/stored_fields_spec.rb +0 -0
  167. data/{spec → sunspot/spec}/integration/test_pagination.rb +0 -0
  168. data/{spec → sunspot/spec}/integration/unicode_spec.rb +0 -0
  169. data/{spec → sunspot/spec}/mocks/adapters.rb +1 -0
  170. data/{spec → sunspot/spec}/mocks/blog.rb +0 -0
  171. data/{spec → sunspot/spec}/mocks/comment.rb +0 -0
  172. data/{spec → sunspot/spec}/mocks/connection.rb +0 -0
  173. data/{spec → sunspot/spec}/mocks/mock_adapter.rb +0 -0
  174. data/{spec → sunspot/spec}/mocks/mock_class_sharding_session_proxy.rb +0 -0
  175. data/{spec → sunspot/spec}/mocks/mock_record.rb +0 -0
  176. data/{spec → sunspot/spec}/mocks/mock_sharding_session_proxy.rb +0 -0
  177. data/{spec → sunspot/spec}/mocks/photo.rb +0 -0
  178. data/{spec → sunspot/spec}/mocks/post.rb +0 -0
  179. data/{spec → sunspot/spec}/mocks/super_class.rb +0 -0
  180. data/{spec → sunspot/spec}/mocks/user.rb +0 -0
  181. data/{spec → sunspot/spec}/spec_helper.rb +0 -0
  182. data/{sunspot.gemspec → sunspot/sunspot.gemspec} +0 -0
  183. data/{tasks → sunspot/tasks}/rdoc.rake +0 -0
  184. data/{tasks → sunspot/tasks}/schema.rake +0 -0
  185. data/{tasks → sunspot/tasks}/todo.rake +0 -0
  186. data/sunspot_rails/.gitignore +7 -0
  187. data/sunspot_rails/.rspec +1 -0
  188. data/sunspot_rails/History.txt +74 -0
  189. data/sunspot_rails/LICENSE +18 -0
  190. data/sunspot_rails/MIT-LICENSE +20 -0
  191. data/sunspot_rails/README.rdoc +265 -0
  192. data/sunspot_rails/Rakefile +17 -0
  193. data/sunspot_rails/TODO +8 -0
  194. data/sunspot_rails/dev_tasks/rdoc.rake +24 -0
  195. data/sunspot_rails/dev_tasks/release.rake +4 -0
  196. data/sunspot_rails/dev_tasks/spec.rake +107 -0
  197. data/sunspot_rails/dev_tasks/todo.rake +4 -0
  198. data/sunspot_rails/gemfiles/rails-2.3.14 +12 -0
  199. data/sunspot_rails/gemfiles/rails-3.0.15 +12 -0
  200. data/sunspot_rails/gemfiles/rails-3.1.6 +12 -0
  201. data/sunspot_rails/gemfiles/rails-3.2.6 +12 -0
  202. data/sunspot_rails/generators/sunspot/sunspot_generator.rb +9 -0
  203. data/sunspot_rails/generators/sunspot/templates/sunspot.yml +20 -0
  204. data/sunspot_rails/install.rb +1 -0
  205. data/sunspot_rails/lib/generators/sunspot_rails/install/install_generator.rb +13 -0
  206. data/sunspot_rails/lib/generators/sunspot_rails/install/templates/config/sunspot.yml +19 -0
  207. data/sunspot_rails/lib/generators/sunspot_rails.rb +9 -0
  208. data/sunspot_rails/lib/sunspot/rails/adapters.rb +88 -0
  209. data/sunspot_rails/lib/sunspot/rails/configuration.rb +352 -0
  210. data/sunspot_rails/lib/sunspot/rails/init.rb +5 -0
  211. data/sunspot_rails/lib/sunspot/rails/log_subscriber.rb +45 -0
  212. data/sunspot_rails/lib/sunspot/rails/railtie.rb +41 -0
  213. data/sunspot_rails/lib/sunspot/rails/railties/controller_runtime.rb +36 -0
  214. data/sunspot_rails/lib/sunspot/rails/request_lifecycle.rb +36 -0
  215. data/sunspot_rails/lib/sunspot/rails/searchable.rb +495 -0
  216. data/sunspot_rails/lib/sunspot/rails/server.rb +106 -0
  217. data/sunspot_rails/lib/sunspot/rails/solr_instrumentation.rb +19 -0
  218. data/sunspot_rails/lib/sunspot/rails/solr_logging.rb +62 -0
  219. data/sunspot_rails/lib/sunspot/rails/spec_helper.rb +26 -0
  220. data/sunspot_rails/lib/sunspot/rails/stub_session_proxy.rb +146 -0
  221. data/sunspot_rails/lib/sunspot/rails/tasks.rb +94 -0
  222. data/sunspot_rails/lib/sunspot/rails.rb +69 -0
  223. data/sunspot_rails/lib/sunspot_rails.rb +12 -0
  224. data/sunspot_rails/spec/configuration_spec.rb +209 -0
  225. data/sunspot_rails/spec/model_lifecycle_spec.rb +63 -0
  226. data/sunspot_rails/spec/model_spec.rb +601 -0
  227. data/sunspot_rails/spec/rails_template/app/controllers/application_controller.rb +10 -0
  228. data/sunspot_rails/spec/rails_template/app/controllers/posts_controller.rb +6 -0
  229. data/sunspot_rails/spec/rails_template/app/models/author.rb +10 -0
  230. data/sunspot_rails/spec/rails_template/app/models/blog.rb +14 -0
  231. data/sunspot_rails/spec/rails_template/app/models/location.rb +3 -0
  232. data/sunspot_rails/spec/rails_template/app/models/photo_post.rb +2 -0
  233. data/sunspot_rails/spec/rails_template/app/models/post.rb +13 -0
  234. data/sunspot_rails/spec/rails_template/app/models/post_with_auto.rb +12 -0
  235. data/sunspot_rails/spec/rails_template/app/models/post_with_default_scope.rb +13 -0
  236. data/sunspot_rails/spec/rails_template/config/boot.rb +127 -0
  237. data/sunspot_rails/spec/rails_template/config/preinitializer.rb +22 -0
  238. data/sunspot_rails/spec/rails_template/config/routes.rb +9 -0
  239. data/sunspot_rails/spec/rails_template/config/sunspot.yml +24 -0
  240. data/sunspot_rails/spec/rails_template/db/schema.rb +27 -0
  241. data/sunspot_rails/spec/request_lifecycle_spec.rb +61 -0
  242. data/sunspot_rails/spec/schema.rb +27 -0
  243. data/sunspot_rails/spec/searchable_spec.rb +12 -0
  244. data/sunspot_rails/spec/server_spec.rb +33 -0
  245. data/sunspot_rails/spec/session_spec.rb +57 -0
  246. data/sunspot_rails/spec/shared_examples/indexed_after_save.rb +8 -0
  247. data/sunspot_rails/spec/shared_examples/not_indexed_after_save.rb +8 -0
  248. data/sunspot_rails/spec/spec_helper.rb +48 -0
  249. data/sunspot_rails/spec/stub_session_proxy_spec.rb +122 -0
  250. data/sunspot_rails/sunspot_rails.gemspec +43 -0
  251. data/sunspot_rails/tmp/.gitkeep +0 -0
  252. data/sunspot_solr/Gemfile +3 -0
  253. data/sunspot_solr/README.rdoc +24 -0
  254. data/sunspot_solr/bin/sunspot-installer +20 -0
  255. data/sunspot_solr/bin/sunspot-solr +80 -0
  256. data/sunspot_solr/lib/sunspot/solr/installer/config_installer.rb +46 -0
  257. data/sunspot_solr/lib/sunspot/solr/installer/task_helper.rb +13 -0
  258. data/sunspot_solr/lib/sunspot/solr/installer.rb +25 -0
  259. data/sunspot_solr/lib/sunspot/solr/java.rb +10 -0
  260. data/sunspot_solr/lib/sunspot/solr/railtie.rb +15 -0
  261. data/sunspot_solr/lib/sunspot/solr/server.rb +223 -0
  262. data/sunspot_solr/lib/sunspot/solr/tasks.rb +49 -0
  263. data/sunspot_solr/lib/sunspot_solr.rb +5 -0
  264. data/sunspot_solr/solr/README.txt +42 -0
  265. data/sunspot_solr/solr/etc/jetty.xml +219 -0
  266. data/sunspot_solr/solr/etc/webdefault.xml +379 -0
  267. data/sunspot_solr/solr/lib/jetty-6.1.26-patched-JETTY-1340.jar +0 -0
  268. data/sunspot_solr/solr/lib/jetty-util-6.1.26-patched-JETTY-1340.jar +0 -0
  269. data/sunspot_solr/solr/lib/jsp-2.1/ant-1.6.5.jar +0 -0
  270. data/sunspot_solr/solr/lib/jsp-2.1/core-3.1.1.jar +0 -0
  271. data/sunspot_solr/solr/lib/jsp-2.1/jsp-2.1.jar +0 -0
  272. data/sunspot_solr/solr/lib/jsp-2.1/jsp-api-2.1.jar +0 -0
  273. data/sunspot_solr/solr/lib/servlet-api-2.5-20081211.jar +0 -0
  274. data/sunspot_solr/solr/solr/.gitignore +1 -0
  275. data/sunspot_solr/solr/solr/README.txt +54 -0
  276. data/sunspot_solr/solr/solr/conf/admin-extra.html +31 -0
  277. data/sunspot_solr/solr/solr/conf/elevate.xml +36 -0
  278. data/sunspot_solr/solr/solr/conf/mapping-ISOLatin1Accent.txt +246 -0
  279. data/sunspot_solr/solr/solr/conf/protwords.txt +21 -0
  280. data/sunspot_solr/solr/solr/conf/schema.xml +250 -0
  281. data/sunspot_solr/solr/solr/conf/scripts.conf +24 -0
  282. data/sunspot_solr/solr/solr/conf/solrconfig.xml +934 -0
  283. data/sunspot_solr/solr/solr/conf/spellings.txt +2 -0
  284. data/sunspot_solr/solr/solr/conf/stopwords.txt +58 -0
  285. data/sunspot_solr/solr/solr/conf/synonyms.txt +31 -0
  286. data/sunspot_solr/solr/solr/conf/xslt/example.xsl +132 -0
  287. data/sunspot_solr/solr/solr/conf/xslt/example_atom.xsl +67 -0
  288. data/sunspot_solr/solr/solr/conf/xslt/example_rss.xsl +66 -0
  289. data/sunspot_solr/solr/solr/conf/xslt/luke.xsl +337 -0
  290. data/sunspot_solr/solr/start.jar +0 -0
  291. data/sunspot_solr/solr/webapps/solr.war +0 -0
  292. data/sunspot_solr/spec/server_spec.rb +98 -0
  293. data/sunspot_solr/spec/spec_helper.rb +18 -0
  294. data/sunspot_solr/sunspot_solr.gemspec +37 -0
  295. data/tools/gem_tasks.rb +69 -0
  296. metadata +353 -343
  297. data/lib/sunspot/search/field_group.rb +0 -46
  298. data/lib/sunspot/version.rb +0 -3
  299. data/spec/api/adapters_spec.rb +0 -33
@@ -0,0 +1,127 @@
1
+ if defined?(RAILS_GEM_VERSION) && RAILS_GEM_VERSION =~ /^2/ # Rails 2 only
2
+ RAILS_ROOT = "#{File.dirname(__FILE__)}/.." unless defined?(RAILS_ROOT)
3
+
4
+ module Rails
5
+ class << self
6
+ def boot!
7
+ unless booted?
8
+ preinitialize
9
+ pick_boot.run
10
+ end
11
+ end
12
+
13
+ def booted?
14
+ defined? Rails::Initializer
15
+ end
16
+
17
+ def pick_boot
18
+ (vendor_rails? ? VendorBoot : GemBoot).new
19
+ end
20
+
21
+ def vendor_rails?
22
+ File.exist?("#{RAILS_ROOT}/vendor/rails")
23
+ end
24
+
25
+ def preinitialize
26
+ load(preinitializer_path) if File.exist?(preinitializer_path)
27
+ end
28
+
29
+ def preinitializer_path
30
+ "#{RAILS_ROOT}/config/preinitializer.rb"
31
+ end
32
+ end
33
+
34
+ class Boot
35
+ def run
36
+ load_initializer
37
+ Rails::Initializer.run(:set_load_path)
38
+ end
39
+ end
40
+
41
+ class VendorBoot < Boot
42
+ def load_initializer
43
+ require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer"
44
+ Rails::Initializer.run(:install_gem_spec_stubs)
45
+ Rails::GemDependency.add_frozen_gem_path
46
+ end
47
+ end
48
+
49
+ class GemBoot < Boot
50
+ def load_initializer
51
+ self.class.load_rubygems
52
+ load_rails_gem
53
+ require 'initializer'
54
+ end
55
+
56
+ def load_rails_gem
57
+ if version = self.class.gem_version
58
+ gem 'rails', version
59
+ else
60
+ gem 'rails'
61
+ end
62
+ rescue Gem::LoadError => load_error
63
+ if load_error.message =~ /Could not find RubyGem rails/
64
+ STDERR.puts %(Missing the Rails #{version} gem. Please `gem install -v=#{version} rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.)
65
+ exit 1
66
+ else
67
+ raise
68
+ end
69
+ end
70
+
71
+ class << self
72
+ def rubygems_version
73
+ Gem::RubyGemsVersion rescue nil
74
+ end
75
+
76
+ def gem_version
77
+ if defined? RAILS_GEM_VERSION
78
+ RAILS_GEM_VERSION
79
+ elsif ENV.include?('RAILS_GEM_VERSION')
80
+ ENV['RAILS_GEM_VERSION']
81
+ else
82
+ parse_gem_version(read_environment_rb)
83
+ end
84
+ end
85
+
86
+ def load_rubygems
87
+ min_version = '1.3.2'
88
+ require 'rubygems'
89
+ unless rubygems_version >= min_version
90
+ $stderr.puts %Q(Rails requires RubyGems >= #{min_version} (you have #{rubygems_version}). Please `gem update --system` and try again.)
91
+ exit 1
92
+ end
93
+
94
+ rescue LoadError
95
+ $stderr.puts %Q(Rails requires RubyGems >= #{min_version}. Please install RubyGems and try again: http://rubygems.rubyforge.org)
96
+ exit 1
97
+ end
98
+
99
+ def parse_gem_version(text)
100
+ $1 if text =~ /^[^#]*RAILS_GEM_VERSION\s*=\s*["']([!~<>=]*\s*[\d.]+)["']/
101
+ end
102
+
103
+ private
104
+ def read_environment_rb
105
+ File.read("#{RAILS_ROOT}/config/environment.rb")
106
+ end
107
+ end
108
+ end
109
+ end
110
+
111
+ class Rails::Boot
112
+ def run
113
+ load_initializer
114
+
115
+ Rails::Initializer.class_eval do
116
+ def load_gems
117
+ @bundler_loaded ||= Bundler.require :default, Rails.env
118
+ end
119
+ end
120
+
121
+ Rails::Initializer.run(:set_load_path)
122
+ end
123
+ end
124
+
125
+ # All that for this:
126
+ Rails.boot!
127
+ end
@@ -0,0 +1,22 @@
1
+ if defined?(RAILS_GEM_VERSION) && RAILS_GEM_VERSION =~ /^2/ # Rails 2 only
2
+ begin
3
+ require "rubygems"
4
+ require "bundler"
5
+ rescue LoadError
6
+ raise "Could not load the bundler gem. Install it with `gem install bundler`."
7
+ end
8
+
9
+ if Gem::Version.new(Bundler::VERSION) <= Gem::Version.new("0.9.24")
10
+ raise RuntimeError, "Your bundler version is too old for Rails 2.3." +
11
+ "Run `gem install bundler` to upgrade."
12
+ end
13
+
14
+ begin
15
+ # Set up load paths for all bundled gems
16
+ ENV["BUNDLE_GEMFILE"] = File.expand_path("../../Gemfile", __FILE__)
17
+ Bundler.setup
18
+ rescue Bundler::GemNotFound
19
+ raise RuntimeError, "Bundler couldn't find some gems." +
20
+ "Did you run `bundle install`?"
21
+ end
22
+ end
@@ -0,0 +1,9 @@
1
+ if Rails::VERSION::MAJOR == 2
2
+ ActionController::Routing::Routes.draw do |map|
3
+ map.resources :posts, :only => :create
4
+ end
5
+ elsif Rails::VERSION::MAJOR == 3
6
+ Rails.application.routes.draw do
7
+ resources :posts, :only => :create
8
+ end
9
+ end
@@ -0,0 +1,24 @@
1
+ test:
2
+ solr:
3
+ hostname: localhost
4
+ port: 8983
5
+ development:
6
+ solr:
7
+ hostname: localhost
8
+ port: 8981
9
+ config_test:
10
+ solr:
11
+ hostname: some.host
12
+ port: 1234
13
+ path: /solr/idx
14
+ log_level: WARNING
15
+ data_path: /my_superior_path/data
16
+ pid_dir: /my_superior_path/pids
17
+ solr_home: /my_superior_path
18
+ bind_address: 127.0.0.1
19
+ read_timeout: 2
20
+ open_timeout: 0.5
21
+ auto_commit_after_request: false
22
+ auto_commit_after_delete_request: true
23
+ config_disabled_test:
24
+ disabled: true
@@ -0,0 +1,27 @@
1
+ ActiveRecord::Schema.define(:version => 0) do
2
+ create_table :posts, :force => true do |t|
3
+ t.string :title
4
+ t.string :type
5
+ t.integer :location_id
6
+ t.text :body
7
+ t.references :blog
8
+ t.timestamps
9
+ end
10
+
11
+ create_table :locations, :force => true do |t|
12
+ t.float :lat
13
+ t.float :lng
14
+ end
15
+
16
+ create_table :blogs, :force => true do |t|
17
+ t.string :name
18
+ t.string :subdomain
19
+ t.timestamps
20
+ end
21
+
22
+ create_table :writers, :force => true, :primary_key => :writer_id do |t|
23
+ t.string :name
24
+ t.timestamps
25
+ end
26
+
27
+ end
@@ -0,0 +1,61 @@
1
+ require File.expand_path('spec_helper', File.dirname(__FILE__))
2
+
3
+ describe PostsController, :type => :controller do
4
+ begin
5
+ include ::RSpec::Rails::ControllerExampleGroup
6
+ rescue NameError
7
+ # Silent -- rspec-rails 1.x catches the :type => :controller
8
+ end
9
+
10
+ before(:each) do
11
+ Sunspot::Rails.configuration = @configuration = Sunspot::Rails::Configuration.new
12
+ end
13
+
14
+ after(:each) do
15
+ Sunspot::Rails.configuration = nil
16
+ end
17
+
18
+ unless respond_to?(:describes)
19
+ controller_name :posts # RSpec 1
20
+ end
21
+
22
+ it 'should automatically commit after each action if specified' do
23
+ @configuration.user_configuration = { 'auto_commit_after_request' => true }
24
+ Sunspot.should_receive(:commit_if_dirty)
25
+ post :create, :post => { :title => 'Test 1' }
26
+ end
27
+
28
+ it 'should not commit, if configuration is set to false' do
29
+ @configuration.user_configuration = { 'auto_commit_after_request' => false }
30
+ Sunspot.should_not_receive(:commit_if_dirty)
31
+ post :create, :post => { :title => 'Test 1' }
32
+ end
33
+
34
+ it 'should commit if configuration is not specified' do
35
+ @configuration.user_configuration = {}
36
+ Sunspot.should_receive(:commit_if_dirty)
37
+ post :create, :post => { :title => 'Test 1' }
38
+ end
39
+
40
+ ### auto_commit_if_delete_dirty
41
+
42
+ it 'should automatically commit after each delete if specified' do
43
+ @configuration.user_configuration = { 'auto_commit_after_request' => false,
44
+ 'auto_commit_after_delete_request' => true }
45
+ Sunspot.should_receive(:commit_if_delete_dirty)
46
+ post :create, :post => { :title => 'Test 1' }
47
+ end
48
+
49
+ it 'should not automatically commit on delete if configuration is set to false' do
50
+ @configuration.user_configuration = { 'auto_commit_after_request' => false,
51
+ 'auto_commit_after_delete_request' => false }
52
+ Sunspot.should_not_receive(:commit_if_delete_dirty)
53
+ post :create, :post => { :title => 'Test 1' }
54
+ end
55
+
56
+ it 'should not automatically commit on delete if configuration is not specified' do
57
+ @configuration.user_configuration = { 'auto_commit_after_request' => false }
58
+ Sunspot.should_not_receive(:commit_if_delete_dirty)
59
+ post :create, :post => { :title => 'Test 1' }
60
+ end
61
+ end
@@ -0,0 +1,27 @@
1
+ ActiveRecord::Schema.define(:version => 0) do
2
+ create_table :posts, :force => true do |t|
3
+ t.string :title
4
+ t.string :type
5
+ t.integer :location_id
6
+ t.text :body
7
+ t.references :blog
8
+ t.timestamps
9
+ end
10
+
11
+ create_table :locations, :force => true do |t|
12
+ t.float :lat
13
+ t.float :lng
14
+ end
15
+
16
+ create_table :blogs, :force => true do |t|
17
+ t.string :name
18
+ t.string :subdomain
19
+ t.timestamps
20
+ end
21
+
22
+ create_table :writers, :force => true, :primary_key => :writer_id do |t|
23
+ t.string :name
24
+ t.timestamps
25
+ end
26
+
27
+ end
@@ -0,0 +1,12 @@
1
+ require File.expand_path('spec_helper', File.dirname(__FILE__))
2
+
3
+ describe Sunspot::Rails::Searchable do
4
+ describe '#searchable' do
5
+ it "should register models with Sunspot.searchable (via Sunspot.setup)" do
6
+ Sunspot.searchable.should_not be_empty
7
+ Sunspot.searchable.should include(Author)
8
+ Sunspot.searchable.should include(Blog)
9
+ Sunspot.searchable.should include(Post)
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,33 @@
1
+ require File.expand_path('spec_helper', File.dirname(__FILE__))
2
+
3
+ describe Sunspot::Rails::Server do
4
+ before :each do
5
+ @server = Sunspot::Rails::Server.new
6
+ @config = Sunspot::Rails::Configuration.new
7
+ @solr_home = File.join(@config.solr_home)
8
+ end
9
+
10
+ it "sets the correct Solr home" do
11
+ @server.solr_home.should == @solr_home
12
+ end
13
+
14
+ it "sets the correct Solr PID path" do
15
+ @server.pid_path.should == File.join(@server.pid_dir, 'sunspot-solr-test.pid')
16
+ end
17
+
18
+ it "sets the correct Solr data dir" do
19
+ @server.solr_data_dir.should == File.join(@solr_home, 'data', 'test')
20
+ end
21
+
22
+ it "sets the correct port" do
23
+ @server.port.should == 8983
24
+ end
25
+
26
+ it "sets the correct log level" do
27
+ @server.log_level.should == "FINE"
28
+ end
29
+
30
+ it "sets the correct log file" do
31
+ @server.log_file.should == File.join(Rails.root, 'log', 'sunspot-solr-test.log')
32
+ end
33
+ end
@@ -0,0 +1,57 @@
1
+ require 'thread'
2
+ require File.expand_path('spec_helper', File.dirname(__FILE__))
3
+
4
+ describe 'Sunspot::Rails session' do
5
+ it 'is a different object for each thread' do
6
+ # Queue is just a convenient thread-safe container
7
+ sessions_queue = Queue.new
8
+
9
+ # Create some threads which dump their session into the queue
10
+ Array.new(2) {
11
+ Thread.new { sessions_queue << Sunspot.session.session }
12
+ }.each { |thread| thread.join }
13
+
14
+ # Collect the items from the queue
15
+ sessions = []
16
+ until sessions_queue.empty?
17
+ sessions << sessions_queue.pop
18
+ end
19
+
20
+ # There should be no items in the queue with the same object_id
21
+ object_ids = sessions.map(&:object_id)
22
+ object_ids.uniq.should == object_ids
23
+ end
24
+
25
+ it 'should create a separate master/slave session if configured' do
26
+ end
27
+
28
+ it 'should not create a separate master/slave session if no master configured' do
29
+ end
30
+
31
+ context 'disabled' do
32
+ before do
33
+ Sunspot::Rails.reset
34
+ ::Rails.stub!(:env).and_return("config_disabled_test")
35
+ end
36
+
37
+ after do
38
+ Sunspot::Rails.reset
39
+ end
40
+
41
+ it 'sets the session proxy as a stub' do
42
+ Sunspot::Rails.build_session.should be_a_kind_of(Sunspot::Rails::StubSessionProxy)
43
+ end
44
+ end
45
+
46
+ private
47
+
48
+ def with_configuration(options)
49
+ original_configuration = Sunspot::Rails.configuration
50
+ Sunspot::Rails.reset
51
+ Sunspot::Rails.configuration = Sunspot::Rails::Configuration.new
52
+ Sunspot::Rails.configuration.user_configuration = options
53
+ yield
54
+ Sunspot::Rails.reset
55
+ Sunspot::Rails.configuration = original_configuration
56
+ end
57
+ end
@@ -0,0 +1,8 @@
1
+ shared_examples_for 'indexed after save' do
2
+ it 'should be indexed after save' do
3
+ subject.save!
4
+ Sunspot.commit
5
+
6
+ subject.class.search.results.should include(subject)
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ shared_examples_for 'not indexed after save' do
2
+ it 'should not be indexed after save' do
3
+ subject.save!
4
+ Sunspot.commit
5
+
6
+ subject.class.search.results.should_not include(subject)
7
+ end
8
+ end
@@ -0,0 +1,48 @@
1
+ ENV['RAILS_ENV'] = 'test'
2
+ if rsolr_version = ENV['RSOLR_GEM_VERSION']
3
+ STDERR.puts("Forcing RSolr version #{rsolr_version}")
4
+ gem "rsolr", rsolr_version
5
+ end
6
+
7
+ require File.expand_path('config/environment', ENV['RAILS_ROOT'])
8
+
9
+ begin
10
+ require 'rspec'
11
+ require 'rspec/rails'
12
+ rescue LoadError => e
13
+ require 'spec'
14
+ require 'spec/rails'
15
+ end
16
+ require 'rake'
17
+ require File.join('sunspot', 'rails', 'solr_logging')
18
+
19
+ def load_schema
20
+ stdout = $stdout
21
+ $stdout = StringIO.new # suppress output while building the schema
22
+ load File.join(ENV['RAILS_ROOT'], 'db', 'schema.rb')
23
+ $stdout = stdout
24
+ end
25
+
26
+ def silence_stderr(&block)
27
+ stderr = $stderr
28
+ $stderr = StringIO.new
29
+ yield
30
+ $stderr = stderr
31
+ end
32
+
33
+ rspec =
34
+ begin
35
+ RSpec
36
+ rescue NameError, ArgumentError
37
+ Spec::Runner
38
+ end
39
+
40
+ # Load all shared examples
41
+ Dir[File.expand_path("shared_examples/*.rb", File.dirname(__FILE__))].each {|f| require f}
42
+
43
+ rspec.configure do |config|
44
+ config.before(:each) do
45
+ load_schema
46
+ Sunspot.remove_all!
47
+ end
48
+ end
@@ -0,0 +1,122 @@
1
+ require File.expand_path('spec_helper', File.dirname(__FILE__))
2
+ require File.expand_path('../lib/sunspot/rails/spec_helper', File.dirname(__FILE__))
3
+
4
+ describe 'specs with Sunspot stubbed' do
5
+ disconnect_sunspot
6
+
7
+ before :each do
8
+ @session = Sunspot.session.original_session
9
+ @post = Post.create!
10
+ end
11
+
12
+ it 'should not send index to session' do
13
+ @session.should_not_receive(:index)
14
+ @post.index
15
+ end
16
+
17
+ it 'should not send index! to session' do
18
+ @session.should_not_receive(:index!)
19
+ @post.index!
20
+ end
21
+
22
+ it 'should not send commit to session' do
23
+ @session.should_not_receive(:commit)
24
+ Sunspot.commit
25
+ end
26
+
27
+ it 'should not send remove to session' do
28
+ @session.should_not_receive(:remove)
29
+ @post.remove_from_index
30
+ end
31
+
32
+ it 'should not send remove! to session' do
33
+ @session.should_not_receive(:remove)
34
+ @post.remove_from_index!
35
+ end
36
+
37
+ it 'should not send remove_by_id to session' do
38
+ @session.should_not_receive(:remove_by_id)
39
+ Sunspot.remove_by_id(Post, 1)
40
+ end
41
+
42
+ it 'should not send remove_by_id! to session' do
43
+ @session.should_not_receive(:remove_by_id!)
44
+ Sunspot.remove_by_id!(Post, 1)
45
+ end
46
+
47
+ it 'should not send remove_all to session' do
48
+ @session.should_not_receive(:remove_all)
49
+ Post.remove_all_from_index
50
+ end
51
+
52
+ it 'should not send remove_all! to session' do
53
+ @session.should_not_receive(:remove_all!)
54
+ Post.remove_all_from_index!
55
+ end
56
+
57
+ it 'should return false for dirty?' do
58
+ @session.should_not_receive(:dirty?)
59
+ Sunspot.dirty?.should == false
60
+ end
61
+
62
+ it 'should not send commit_if_dirty to session' do
63
+ @session.should_not_receive(:commit_if_dirty)
64
+ Sunspot.commit_if_dirty
65
+ end
66
+
67
+ it 'should return false for delete_dirty?' do
68
+ @session.should_not_receive(:delete_dirty?)
69
+ Sunspot.delete_dirty?.should == false
70
+ end
71
+
72
+ it 'should not send commit_if_delete_dirty to session' do
73
+ @session.should_not_receive(:commit_if_delete_dirty)
74
+ Sunspot.commit_if_delete_dirty
75
+ end
76
+
77
+ it 'should not execute a search when #search called' do
78
+ @session.should_not_receive(:search)
79
+ Post.search
80
+ end
81
+
82
+ it 'should not execute a search when #search called with parameters' do
83
+ @session.should_not_receive(:search)
84
+ Post.search(:include => :blog, :select => 'id, title')
85
+ end
86
+
87
+ it 'should return a new search' do
88
+ @session.should_not_receive(:new_search)
89
+ Sunspot.new_search(Post).should respond_to(:execute)
90
+ end
91
+
92
+ it 'should not send more_like_this to session' do
93
+ @session.should_not_receive(:more_like_this)
94
+ Sunspot.more_like_this(@post)
95
+ end
96
+
97
+ describe 'stub search' do
98
+ before :each do
99
+ @search = Post.search
100
+ end
101
+
102
+ it 'should return empty results' do
103
+ @search.results.should == []
104
+ end
105
+
106
+ it 'should return empty hits' do
107
+ @search.hits.should == []
108
+ end
109
+
110
+ it 'should return zero total' do
111
+ @search.total.should == 0
112
+ end
113
+
114
+ it 'should return nil for a given facet' do
115
+ @search.facet(:category_id).should be_nil
116
+ end
117
+
118
+ it 'should return nil for a given dynamic facet' do
119
+ @search.dynamic_facet(:custom).should be_nil
120
+ end
121
+ end
122
+ end
@@ -0,0 +1,43 @@
1
+ # -*- encoding: utf-8 -*-
2
+ lib = File.expand_path('../../sunspot/lib/', __FILE__)
3
+
4
+ $:.unshift(lib) unless $:.include?(lib)
5
+
6
+ require 'sunspot/version'
7
+
8
+ Gem::Specification.new do |s|
9
+ s.name = "sunspot_rails"
10
+ s.version = Sunspot::VERSION
11
+ s.platform = Gem::Platform::RUBY
12
+ s.authors = ['Mat Brown', 'Peer Allan', 'Dmitriy Dzema', 'Benjamin Krause', 'Marcel de Graaf', 'Brandon Keepers', 'Peter Berkenbosch',
13
+ 'Brian Atkinson', 'Tom Coleman', 'Matt Mitchell', 'Nathan Beyer', 'Kieran Topping', 'Nicolas Braem', 'Jeremy Ashkenas',
14
+ 'Dylan Vaughn', 'Brian Durand', 'Sam Granieri', 'Nick Zadrozny', 'Jason Ronallo']
15
+ s.email = ["mat@patch.com"]
16
+ s.homepage = 'http://github.com/outoftime/sunspot/tree/master/sunspot_rails'
17
+ s.summary = 'Rails integration for the Sunspot Solr search library'
18
+ s.description = <<-TEXT
19
+ Sunspot::Rails is an extension to the Sunspot library for Solr search.
20
+ Sunspot::Rails adds integration between Sunspot and ActiveRecord, including
21
+ defining search and indexing related methods on ActiveRecord models themselves,
22
+ running a Sunspot-compatible Solr instance for development and test
23
+ environments, and automatically commit Solr index changes at the end of each
24
+ Rails request.
25
+ TEXT
26
+
27
+ s.rubyforge_project = "sunspot"
28
+
29
+ s.files = `git ls-files`.split("\n")
30
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
31
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
32
+ s.require_paths = ["lib"]
33
+
34
+ s.add_dependency 'sunspot', Sunspot::VERSION
35
+ s.add_dependency 'nokogiri'
36
+
37
+ s.add_development_dependency 'rspec', '~> 1.2'
38
+ s.add_development_dependency 'rspec-rails', '~> 1.2'
39
+
40
+ s.rdoc_options << '--webcvs=http://github.com/outoftime/sunspot/tree/master/%s' <<
41
+ '--title' << 'Sunspot-Rails - Rails integration for the Sunspot Solr search library - API Documentation' <<
42
+ '--main' << 'README.rdoc'
43
+ end
File without changes
@@ -0,0 +1,3 @@
1
+ source "http://rubygems.org"
2
+
3
+ gemspec
@@ -0,0 +1,24 @@
1
+ = Sunspot::Solr
2
+
3
+ Sunspot::Solr is a packaged distribution of Solr for use with the
4
+ Sunspot[http://outoftime.github.com/sunspot] and
5
+ Sunspot::Rails[https://github.com/outoftime/sunspot/tree/master/sunspot_rails]
6
+ gems. See those gems' documentation for more information.
7
+
8
+ == Installation
9
+
10
+ gem install sunspot_solr
11
+
12
+ In order to start the daemon, run:
13
+
14
+ sunspot-solr start -- [-d /path/to/data/directory] [-p port] [-s path/to/solr/home] [--pid-dir=path/to/pid/dir]
15
+
16
+ If you don't specify a data directory, your Solr index will be stored in your
17
+ operating system's temporary directory.
18
+
19
+ If you specify a solr home, the directory must contain a <code>conf</code>
20
+ directory, which should contain at least <code>schema.xml</code> and
21
+ <code>solrconfig.xml</code>. Be sure to copy the <code>schema.xml</code> out of
22
+ the Sunspot gem's <code>solr/solr/conf</code> directory. Sunspot relies on the
23
+ field name patterns defined in the packaged <code>schema.xml</code>, so those
24
+ cannot be modified.