So I did pip install django-haystack or whatever the command was in my project virtualenv folder, and I also have solr installed, but now i'm slightly confused as to what to do.
I keep getting an error saying that the solr backend requires the installation of pysolr? and i'm confused as to where I run this command? "./manage.py build_solr_schema"
i've been trying to refer to the haystack guide but it is a little bit vague. Help me please!! Thanks
Supposing you have Solr 4.10.4 and you use the example directory which contains a ready to use Solr configuration.
To install haystack if you're using a virtualenv you activate it first and then run
pip install django-haystack
and to use the Solr backend, you also need to install the pysolr module in your virtualenv
pip install pysolr
Than you have to add haystack to your INSTALLED_APPS in settings.py file
INSTALLED_APPS = (
# ...
'haystack',
)
And you have to set - in your settings.py ifle - the search engine backend for haystack to use:
HAYSTACK_CONNECTIONS = {
'default': {
'ENGINE': 'haystack.backends.solr_backend.SolrEngine',
'URL': 'http://127.0.0.1:8983/solr/the_core_you_created'
},
}
the_core_you_created is the Solr core you've created for your app.
Now in order to build a search schema you have to register the models you want to store in the serach engine, so you have to create SearchIndexes.
Once you've created search indexes you can build the search schema, run:
python manage.py build_solr_schema
and copy the result in solr/the_core_you_created/conf/schema.xml
Now you have to rebuild the index:
python manage.py rebuild_index
then create a search view and a search template.
You can find the detailed steps in haystack docs and - more concise - in Django by example book.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With