The reason I created this was simply to avoid the overhead of using third party applications such as haystack. I was deploying an app on Amazons Elastic Beanstalk that will run on one or more instance and did not want the hassle of trying to save the index results in a centralized storage. I also did not want another instance just to act as a search endpoint like solr etc.
Doing it this way by saving the results in the database makes it extremely portable.
On publishing a page, an index item is added to the model. On unpublishing or deleting its removed.
Installation with pip
:
$ pip install djangocms-site-search
Add the following apps to the INSTALLED_APPS
ensuring its below cms:
INSTALLED_APPS = (
...
'cms',
'site_search',
)
Add the url routes to the project in urls.py:
urlpatterns = [
url(r'^', include('site_search.urls', 'search')),
]
Please head over to our documentation for all the details on how to install and use the django CMS site search.
The project is licensed under the MIT license.