Eu sugiro que você considere usar o PostgreSQL apenas para fazer o que você pediu.
Na minha opinião é a melhor solução porque você terá os dados e os índices de busca diretamente dentro do PostgreSQL e você não será forçado a instalar e manter software adicional (como o Elasticsearch ) e mantenha os dados e índices sincronizados.
Este é o exemplo de código mais simples que você pode ter para executar um texto completo pesquisar no Django com PostgreSQL:
Entry.objects.filter(body_text__search='Cheese')
Para toda a documentação básica sobre como usar a pesquisa de texto completo no Django com PostgreSQL você pode usar a documentação oficial:"Pesquisa de texto completo "
Se você quiser se aprofundar ainda mais, leia um artigo que escrevi sobre o assunto:
"Full-Text Pesquise no Django com PostgreSQL "