etianen / django-watson

Full-text multi-table search application for Django. Easy to install and use, with good performance.
BSD 3-Clause "New" or "Revised" License
1.21k stars 129 forks source link

MySQL Cluster / OCI Heatwave #310

Open fopinappb opened 2 weeks ago

fopinappb commented 2 weeks ago

The adaptative backend criteria (https://github.com/etianen/django-watson/blob/master/watson/backends.py#L463-L469) fails when using a clustered MySQL such as OCI Heatwave.

Explicitly choose Regex one, resolves it (with the performance impact that comes with it).

The issue comes with this line https://github.com/etianen/django-watson/blob/master/watson/backends.py#L369

MyISAM is not available in these solutions - it is not atomic so it cannot be used in a cluster.

I think it would be nice if lack of MyISAM was detected and an alternative approach was used instead: either falling back to regex backend or actually using some full text solution with innodb