From e508c6f4e8d8520d1f8e1ae0cde77702e5d1d806 Mon Sep 17 00:00:00 2001 From: Paul Pan Date: Wed, 27 Dec 2023 21:56:19 +0800 Subject: [PATCH] feat: allow fuzz search on tags --- internal/service/problem/query_fuzz.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/problem/query_fuzz.go b/internal/service/problem/query_fuzz.go index 740b0ca..57abb8f 100644 --- a/internal/service/problem/query_fuzz.go +++ b/internal/service/problem/query_fuzz.go @@ -23,12 +23,12 @@ func (s *service) QueryFuzz(keyword string, tag string, associations bool, shoul Or("statement LIKE ?", "%"+keyword+"%")) if tag != "" { - query = query.Where("tags @> array[?]", tag) + query = query.Where("EXISTS(SELECT 1 FROM unnest(tags) AS elem WHERE elem LIKE ?)", "%"+tag+"%") } err := query.Find(&problems).Error if err != nil { - s.log.Warn("DatabaseError", zap.Error(err), zap.Any("keyword", keyword)) + s.log.Warn("DatabaseError", zap.Error(err), zap.Any("keyword", keyword), zap.Any("tag", tag)) return nil, e.DatabaseError }