我想要实现的是,如果用户输入搜索“laptp”,那么数据库应该返回带有实际单词“Laptop”的结果。同样,如果用户输入“ambroidery”,那么数据库应该返回包含字符串的“embroidery”和“embroidred”单词的结果。希望它清除!
所以我尝试的是,我浏览了整个 django 文档,我发现最接近的是“Trigram Similarity”搜索。我按照文档进行了尝试:
data = 'silk'
data= Product.objects.annotate(
similarity=TrigramSimilarity('description', data)).filter(similarity__gt=0.3).order_by('-similarity')
在我的数据库中,我Products
的描述中包含单词“silky”,但每次运行此查询时,我都会得到空查询集。即使我将数据值设置为“silky”,我也得到了空查询集。
所以首先建议我,这是否是我想要实现的正确方法,其次,如果是,那么为什么它返回空查询集?