2016-11-17 15 views
2

django 1.10の全文検索をpostgresデータベースと統合しようとしています。一つの質問がある:私はしようとしていますdjango 1.10 postgres全文検索が機能しない

text: what is best for me? 
ans: this is best for you. 

私は https://docs.djangoproject.com/en/1.10/ref/contrib/postgres/search/

class Question(models.Model): 
    text = models.TextField(max_length=500) 
    ans = models.TextField(max_length=1500, blank=True) 

からチュートリアルを以下の午前Iは、例えば、そのテキストフィールドに「の」テキストを持つデータベース内のいくつかの質問を持っています

q = Question.objects.filter(text__search='for') 

このクエリは結果を返しません。誰も私になぜ示唆することができますか?

+1

検索ルックアップを使用するには、 'django.contrib.postgres'がINSTALLED_APPSに存在する必要があります。 – user2693928

+1

(1)実際に実行されているクエリを確認するには、PostgreSQLのステートメントログをオンにしてログをチェックします。 (2) "for"が辞書のストップワードではなく、除外されていることを確認してください。 –

+0

postgresに 'django.contrib.postgres'を追加しました。それは 'のため'のためだけではない。私が 'のような他の単語と置き換えた場合、正しい結果が表示されません。 2)私のクエリ: \t SELECT•••FROM "faq_question" WHERE to_tsvector(COALESCE( "faq_question"。 "text"、 ''))@@(plainto_tsquery( 'for'))= true –

答えて

3

実際には間違いです。 Postgresがインデックスを作成するフルテキスト検索では、デフォルトで 'the'、 'for'、 'are'、 'is'などの一般的な単語は無視されます。このキーワードを使用して検索しようとすると、これらの言葉でたくさんの文章があります。 私はこれを知らなかった。だから、私は誤って構成したと思った。

関連する問題