Solrium
A JRuby integration layer for Apache Solr/Lucene with a focus on usage from within irb.
Features
- embed solr directly into your app
- convenience methods for searching using ruby idioms
- jetty integration
- bundles all necessary jars (solr, lucene & jetty)
I mainly wrote it as a tool for quickly prototyping/debugging lucene queries and solr parser plugins.
Note: there's limited support for remote solr queries, searching will done in-process using a SolrIndexSearcher, bypassing the HTTP layer. If you need to do remote queries in ruby consider using something like sunspot instead.
Synposis
Embedding solr into jirb
$ jirb -r lib/solr.rb
irb> solr = Solrium::Solr.new('/path/to/solr_home')
irb> solr.search("foo")
=> [[Document: {"id"=>"1", "name_t"=>"Foomatic"}, 1.2112]]
Embedding jetty
$ jirb -r lib/solr.rb
irb> Solrium::Jetty.new('/path/to_solr_home').start(2000).join
2009-05-14 13:47:24.444::INFO: jetty-7.0.0.pre5
....
INFO: SolrDispatchFilter.init() done
2009-05-14 13:47:25.336::INFO: Started SelectChannelConnector@0.0.0.0:2000
Credits
Lucene, Solr, Jetty are all licensed under Apache License Version 2.0.
Contact
Jan Berkel jan.berkel@gmail.com
License
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
and limitations under the License.