对于搜索,我想使用PostgreSQL中的搜索向量;
我写了一个自定义查询方法:
def search(self, text):
search_vectors = (
SearchVector('name', weight='A', config='english') +
SearchVector('short_description', weight='B', config='english') +
SearchVector('description', weight='C', config='english')
)
search_query = SearchQuery(text)
search_rank = SearchRank(search_vectors, search_query, weights=[0.2, 0.4, 0.6, 1])
return self.annotate(rank=search_rank).filter(rank__gte=0.2).order_by('-rank').
有2个问题'。例如,对于名称' Eric',如果我搜索:
我理解为什么会失败,但我不知道如何实施修复。