I used haystack in different project to connect to Elastisearch as I wrote in my article, but in this article I wrote about Django Full-Text Search with PostgreSQL and you don't need haystack to use it, because there's a 'contrib' module in Django code
https://docs.djangoproject.com/en/2.0/ref/contrib/postgres/s...
Out of curiosity, which one of them is faster for doing complex search?
I'm sorry but "complex search" is too generic. I can say that in my project the PG FTS is quite fast but a lot less complex than ES