Je vous suggère d'envisager d'utiliser PostgreSQL seulement pour faire ce que vous avez demandé.
À mon avis, c'est la meilleure solution car vous aurez les données et les index de recherche directement dans PostgreSQL et vous ne serez pas obligé d'installer et de maintenir des logiciels supplémentaires (tels que Elasticsearch ) et synchronisez les données et les index.
C'est l'exemple de code le plus simple que vous puissiez avoir pour effectuer un full-text rechercher dans Django avec PostgreSQL :
Entry.objects.filter(body_text__search='Cheese')
Pour toute la documentation de base sur l'utilisation de la recherche en texte intégral dans Django avec PostgreSQL, vous pouvez utiliser la documentation officielle :"Recherche plein texte "
Si vous souhaitez approfondir davantage, vous pouvez lire un article que j'ai écrit sur le sujet :
"Texte intégral Rechercher dans Django avec PostgreSQL "