local search algorithm optimization/diange medal permission/

This commit is contained in:
Aynakeya
2022-08-24 15:13:13 -07:00
parent d20c39ace3
commit eac8b7b775
4 changed files with 41 additions and 8 deletions

View File

@@ -80,13 +80,16 @@ func (l *Local) Search(keyword string) ([]*player.Media, error) {
keywords := strings.Split(keyword, " ")
for _, p := range l.Playlists {
for _, m := range p.Medias {
title := strings.ToLower(m.Title)
artist := strings.ToLower(m.Artist)
n := 0
for _, k := range keywords {
if strings.Contains(m.Title, k) || strings.Contains(m.Artist, k) {
kw := strings.ToLower(k)
if strings.Contains(title, kw) || strings.Contains(artist, kw) {
n++
}
if k == m.Title {
n += 2
if kw == title {
n += 3
}
}
if n > 0 {