PostgreSQL全文搜索在某些情况下不起作用(Django)

时间:2018-08-22 21:14:58

标签: sql django postgresql

我注意到在django中,当有一个包含PLAZA/MASTERPIECE的句子时,当我们搜索杰作时,我找不到此句子。这是PostgreSQL全文搜索的限制吗?或如何解决?

finalquery = SearchQuery("keyword")
vector = SearchVector('thefieldIwanttosearch')
self.search_results = self.search_results.annotate(search=vector).filter(search=finalquery).annotate(rank=SearchRank(vector, finalquery))

是否有关于此的文件?谢谢!

1 个答案:

答案 0 :(得分:0)

是的,所有这些都已记录。

filter(search=finalquery)时并没有指定lookup type

  

为方便起见,当没有提供查找类型时(例如Entry.objects.get(id=14)),假定查找类型为exact

因此,您正在过滤与“杰作”完全匹配的内容。您可能想要的是containsicontains