Refactor Whoosh and Elasticsearch support into pluggable backends

Review Request #8254 — Created June 21, 2016 and submitted — Latest diff uploaded

Information

Review Board
release-3.0.x
be9ff7a...

Reviewers

A previous patch introduced support for Elasticsearch instead of Whoosh
as an alternative search engine backend. Now, both Whoosh and
Elasticsearch are provided as SearchBackends and we produce the search
configuration form dynamically based on what search backends are
available.

We now use a registry to manage these backends. Extensions can now
register additional search backends (such as for Solr or other
Haystack-supported backends) through this interface.

The search settings have been moved out of the general settings into its
own form as the logic just for the form generation was getting rather
complicated.

  • Ran unit tests.
  • Verified the settings form worked correctly.