Skip to content

Stack selection Guidelines

Geoffroy Noël edited this page May 18, 2019 · 8 revisions

Which Search Engine?

If you need faceted search in your project, it is currently recommended to use Solr instead of ElasticSearch for the indexing (because django-haystack doesn't support ES-5+) and use Postgresql instead of ElasticSearch for wagtail searches (so you don't end up with both Solr & ES on the VMs). (GN, Jan 2019)

Wagtail search over relational DB has limited support for facets. E.g.

res = MyModel.objects.filter(myfield='v1').search('test')
f = res.facet('myfield')

f will only contain 'v1' even if records in the results have also other values for myfield.

Wagtail search over ES does not provide control over the facets, it will returns the 10 most frequent values for each facet (which is a ES5 default) and there is no way to change that apart from re-writing part of the ES backend.