Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Augment Spree's built-in search with Solr and Sunspot with facets
Ruby
branch: patch-1

This branch is 25 commits behind iloveitaly:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
app
config/locales
lib
spec
.gitignore
LICENSE
README.md
Rakefile
Versionfile
spree_sunspot_search.gemspec

README.md

SpreeSunspotSearch

Adds Solr search to Spree using Sunspot. This is a moving targer and is very beta and should be treated as such.

This is compatible with Spree 1.1. Untested on 1.0, but will probably work without too much modification

Install

I make the assumption that you have a functioning Spree store and are just extending the search capabilities with Sunspot/Solr

Add spree_sunspot_search to your Gemfile and run bundler.

gem 'spree_sunspot_search', git: 'git://github.com/jbrien/spree_sunspot_search.git'

add the following to the Gemfile if you are not using another solr install locally for testing and development. The rake tasks for starting and stop this for development are included automatically for your use.

group :test, :development do
    gem 'sunspot_solr'
end

Install the solr.yml file from Sunspot.

rails g sunspot_rails:install

Copy the initializer and add solr_sort_by to all.js

rails g spree_sunspot_search:install

Running

Start up Solr (bundled with Sunspot's install)

rake sunspot:solr:run

Build the index for the first time

rake sunspot:reindex

Customise the Facets Shown

Edit the initializer and specify you Product Properties, Product Options, and Price Ranges as an array

supposing you have model manufacturer and gender as addition properties you would add the following to the initializer

PRODUCT_PROPERTY_FACETS = [:brand, :model, :manufacturer, :gender]

same goes for product options

PRODUCT_OPTION_FACETS = [:color, :size]

and price ranges

PRODUCT_PRICE_RANGES = ["0-25", "25-50", "50-100", "100-150"]

look at the copied initializer for more options. You can add sorting options, specify custom facets, etc.

Testing

Pending

TODOs

  • Add an automatic MAX value for price facets (e.g. Above )
  • Sorting by facet criteria and Solr analytics (Best result, Popular, etc.)
  • Open the Sunspot DSL to utilise all the additional data and analytics available through Solr
  • Get the Taxon browsing (e.g. Categories) to utilise the Solr data for speed boosts

Authors

  • @jbrien
  • @iloveitaly

Copyright (c) 2011 John Brien Dilts, released under the New BSD License

Something went wrong with that request. Please try again.