Ich versuche, Volltextsuche für Django 1.10 mit Postgres-Datenbank zu integrieren. Ich verfolge Tutorial von https://docs.djangoproject.com/en/1.10/ref/contrib/postgres/search/django 1.10 postgres Volltextsuche funktioniert nicht
class Question(models.Model):
text = models.TextField(max_length=500)
ans = models.TextField(max_length=1500, blank=True)
habe ich mehrere Fragen in der Datenbank, die zum Beispiel den Text ‚für‘ in seinem Textfeld hat: eine Frage ist:
text: what is best for me?
ans: this is best for you.
Ich versuche, um eine Abfrage wie
q = Question.objects.filter(text__search='for')
zu machen, aber diese Abfrage gibt kein Ergebnis zurück. kann mir jemand warum vorschlagen?
Um die Suchsuche zu verwenden, muss "django.contrib.postgres" in INSTALLED_APPS enthalten sein. Haben Sie es dort notiert? – user2693928
(1) Überprüfen Sie, welche Abfrage tatsächlich ausgeführt wird, indem Sie sich in PostgreSQL anmelden und die Protokolle überprüfen. (2) Stellen Sie sicher, dass "for" kein Stoppwort für Ihr Wörterbuch ist und ausgefiltert wurde. –
Ich habe "django.contrib.postgres" in Postgres hinzugefügt. Es ist nicht nur für 'for' Wort. Wenn ich für ein anderes Wort wie "das" ersetze, dann zeigt es auch keine korrekten Ergebnisse. 2) meine Abfrage: SELECT ••• FROM "faq_question" WHERE to_tsvector (COALESCE ("faq_question". "Text", "")) @@ (plainto_tsquery ('for')) = wahr –