SUNSPOT AND SUNSPOT::RAILS
Sunspot is a library providing a powerful, all-ruby API for the Solr
search engine. Sunspot manages the configuration of persistent Ruby
classes for search and indexing and exposes Solr’s most powerful
features through a collection of DSLs. Complex search operations can
be performed without hand-writing any boolean queries or building Solr
parameters by hand.
Sunspot::Rails provides seamless integration between Rails and
Sunspot, managing the indexing and search of ActiveRecord models
through the lifecycle, and adding utility methods for convenient
management of search in a Rails app.
WHAT’S NEW IN SUNSPOT 1.0
Sunspot 1.0 supports Solr 1.4, including new features like multiselect
faceting and Trie range queries. Sunspot 1.0 also introduces “assumed
inconsistency”, in which Sunspot gracefully handles frictional
inconsistency between Solr and the primary data store.
Sunspot::Rails 1.0 has several internal improvements and minor new
features, but the 1.0 release was focused on core Sunspot.
FURTHER READING
Blog post detailing new features:
http://outoftime.github.com/2010/03/03/sunspot-1-0.html
Wiki: http://wiki.github.com/outoftime/sunspot
Home Page: http://outoftime.github.com/sunspot
Mailing List: http://groups.google.com/group/ruby-sunspot
Source Code: GitHub - outoftime/sunspot: Solr-powered search for Ruby objects
IRC: #sunspot-ruby @ Freenode
DEPENDENCIES
- Java 1.5+
- RSolr (gem)
SUNSPOT CHANGELOG
- Multiselect Field Faceting
- Named field facets
- Upgrade to Solr 1.4
- Deletion by query
- Allow :latitude and :longitude as coordinate method names
- Assumed inconsistency
- Support for TrieField numeric/time types
- Built-in Session Proxies: Thread-local, master/slave, sharding
- Give DSL blocks access to calling context
- Create sunspot-installer executable, which modifies an existing
schema/solrconfig to work with Sunspot - Support for Long and Double types
- new_search method accepts DSL block
- Sunspot::Server now a real class that manages embedded Sunspot
instance - Add Search#each_hit_with_result method
- Able to access stored dynamic fields
- Access dynamic facets using the #facet method
- Remove accidental existence of dynamic_text fields
- Upgrade to RSolr 0.12.1
- Switch from LocalSolr to solr-spatial-light
- Turn off request logging in Jetty for default Solr install
- Full support for class-reloading of Sunspot-setup classes
- Support time ranges outside of 32-bit range
- Remove sunspot-configure-solr executable
- new_search method accepts DSL block
SUNSPOT::RAILS CHANGELOG
- Sunspot::Rails::Server subclasses Sunspot::Server; no longer needs
to shell out - Use Sunspot built-in session proxies in Sunspot::Rails
- Sunspot::Rails adapter compatible with assumed inconsistency
- Use session proxy for disconnecting Sunspot in specs
- Allow specification of first ID for reindex batches.
- Log Solr requests in Rails logger
- Use class_inheritable_hash for sunspot_options
- Add
index
class method, which is likereindex
but doesn’t clear
first - Rename sunspot:solr:reindex to sunspot:reindex
- Use Sunspot::Installer to bootstrap Rails Solr home