From f69b24ca798a0fab6fe95c66ad138a1d4cfd60e8 Mon Sep 17 00:00:00 2001 From: sentriz Date: Thu, 27 Jun 2019 15:54:06 +0100 Subject: [PATCH] search normal and unidecoded cols when searching --- server/handler/handler_sub_by_folder.go | 8 +++++--- server/handler/handler_sub_by_tags.go | 6 +++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/server/handler/handler_sub_by_folder.go b/server/handler/handler_sub_by_folder.go index 0cf7c58..02b14c4 100644 --- a/server/handler/handler_sub_by_folder.go +++ b/server/handler/handler_sub_by_folder.go @@ -166,7 +166,8 @@ func (c *Controller) SearchTwo(w http.ResponseWriter, r *http.Request) { // search "artists" var artists []*model.Album c.DB. - Where("parent_id = 1 AND right_path_u_dec LIKE ?", query). + Where("parent_id = 1 "+ + "AND (right_path || right_path_u_dec) LIKE ?", query). Offset(getIntParamOr(r, "artistOffset", 0)). Limit(getIntParamOr(r, "artistCount", 20)). Find(&artists) @@ -178,7 +179,8 @@ func (c *Controller) SearchTwo(w http.ResponseWriter, r *http.Request) { // search "albums" var albums []*model.Album c.DB. - Where("tag_artist_id IS NOT NULL AND right_path_u_dec LIKE ?", query). + Where("tag_artist_id IS NOT NULL "+ + "AND (right_path || right_path_u_dec) LIKE ?", query). Offset(getIntParamOr(r, "albumOffset", 0)). Limit(getIntParamOr(r, "albumCount", 20)). Find(&albums) @@ -190,7 +192,7 @@ func (c *Controller) SearchTwo(w http.ResponseWriter, r *http.Request) { var tracks []*model.Track c.DB. Preload("Album"). - Where("filename_u_dec LIKE ?", query). + Where("(filename || filename_u_dec) LIKE ?", query). Offset(getIntParamOr(r, "songOffset", 0)). Limit(getIntParamOr(r, "songCount", 20)). Find(&tracks) diff --git a/server/handler/handler_sub_by_tags.go b/server/handler/handler_sub_by_tags.go index aa0a7fc..8ec36a0 100644 --- a/server/handler/handler_sub_by_tags.go +++ b/server/handler/handler_sub_by_tags.go @@ -167,7 +167,7 @@ func (c *Controller) SearchThree(w http.ResponseWriter, r *http.Request) { // search "artists" var artists []*model.Artist c.DB. - Where("name_u_dec LIKE ?", query). + Where("(name || name_u_dec) LIKE ?", query). Offset(getIntParamOr(r, "artistOffset", 0)). Limit(getIntParamOr(r, "artistCount", 20)). Find(&artists) @@ -180,7 +180,7 @@ func (c *Controller) SearchThree(w http.ResponseWriter, r *http.Request) { var albums []*model.Album c.DB. Preload("TagArtist"). - Where("tag_title_u_dec LIKE ?", query). + Where("(tag_title || tag_title_u_dec) LIKE ?", query). Offset(getIntParamOr(r, "albumOffset", 0)). Limit(getIntParamOr(r, "albumCount", 20)). Find(&albums) @@ -193,7 +193,7 @@ func (c *Controller) SearchThree(w http.ResponseWriter, r *http.Request) { var tracks []*model.Track c.DB. Preload("Album"). - Where("tag_title_u_dec LIKE ?", query). + Where("(tag_title || tag_title_u_dec) LIKE ?", query). Offset(getIntParamOr(r, "songOffset", 0)). Limit(getIntParamOr(r, "songCount", 20)). Find(&tracks)