【发布时间】:2018-02-25 04:42:06
【问题描述】:
我正在尝试在我的 Django 和 Postgresql 项目中创建一个搜索系统,但是当我尝试进行查询时一直遇到错误。
每当我在 shell 中尝试这些命令时:
vector = SearchVector('title','tags')
query = SearchQuery('book') | SearchQuery('harry')
My_Library.objects.annotate(similarity=TrigramSimilarity(vector,test),).filter(similarity__gt=0.3).order_by('-similarity')
我得到错误:
“没有与给定名称和参数类型匹配的函数。您可能需要添加显式类型转换。”
我一直在测试其他选项,而我能够成功通过搜索查询而不会出错的唯一方法是使用两个字符串代替 query 和 vector .
My_Library.objects.annotate(similarity=TrigramSimilarity('title','my search query'),).filter(similarity__gt=0.3).order_by('-similarity')
这将成功通过我的搜索而没有错误。
为什么会出现此错误,我该如何解决?
我的代码基于此 Full Text Search 文档
【问题讨论】:
标签: python django postgresql search casting