3 votes

Recherche en texte intégral avec postgresql-8.4 et django

La recherche en texte intégral avec mysql et django peut être effectuée en utilisant la requête suivante de l'api django

Entry.objects.filter(headline__search="search text")

Mais cela ne peut pas être utilisé avec postgresql, tout en obtenant une exception qui est montré ci-dessous.

Full-text search is not implemented for this database backend 

Comment puis-je implémenter la recherche plein texte avec postgresql & django qui est la même que celle de la recherche plein texte django-mysql ?

4voto

Rohan Points 22386

Vous pouvez essayer

Entry.objects.filter(headline__contains="search text")

ou __icontains pour une recherche insensible à la casse.

Comme le doc sur django dit __search ne fonctionne pour l'instant qu'avec MySQL.

2voto

Psion Points 39

Vous pouvez essayer Haystack ou une bibliothèque créée par l'utilisateur djorm-ext-pgfulltext . Il est également utile de lire https://code.djangoproject.com/ticket/4676 et http://bogdan-ivanov.com/entry/full-text-search-postgresql-and-django/

0voto

Paolo Melchiorre Points 1649

Pour l'utilisateur qui lit cette question ces jours-ci :

Le support de la recherche plein texte PostgreSQL est présent depuis Django 1.10 (2016) par le module django.contrib.postgres.search .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X