带有多个单词的 Django 全文搜索

Quo*_*tas 5 python django postgresql

这并不是一个真正复杂的问题(据我所知)。

我知道在 MongoDB 中,您可以输入一个字符串,它会使用该字符串作为查询自动标记并执行全文搜索。

但是,在 Django 中,我还没有找到类似的功能,而且我看到的所有示例都做了一些类似的事情:

from django.contrib.postgres.search import SearchQuery
query = SearchQuery('foo')
Run Code Online (Sandbox Code Playgroud)

人们只使用一个词的原因是因为SearchQuery 只能使用一个词吗?

我想知道的是如何进行多词全文搜索。做起来容易吗

from django.contrib.postgres.search import SearchQuery
query = SearchQuery('foo and also bar')
Run Code Online (Sandbox Code Playgroud)

? 还是需要比这更复杂?

Chi*_*fir 3

要使用 Django 执行全文搜索,您必须结合使用GiN indexSearchVector
这是我在某处使用的完整工作示例。它还适用于查询中的 2 个以上单词,并在 3 个字段中搜索它们。