gpt4 book ai didi

jquery - 与 LIKE 匹配的客户端自动完成

转载 作者:行者123 更新时间:2023-12-01 08:28:25 26 4
gpt4 key购买 nike

现在,我的自动完成数据位于我的服务器上,它使用 LIKE 查询来查找匹配项。具体来说,我获取“q”参数的值,将其拆分为空格,然后查找与每个单词匹配的歌曲:(使用 SearchLogic)

@songs = Song.sortable_name_like_all(params[:q].to_s.split)

由于我的歌曲不多,我认为如果我一次将所有歌曲发送到客户端,然后根据客户端数据自动完成,用户体验可能会更好。

我的服务器现在返回一个 JSON 数组 onready,如下所示:

[{"path":"/lyrics/Young-jeezy-ft-jay-z/Go-crazy-remix","song":"Young Jeezy (Ft. Jay-Z) - Go Crazy (Remix)"},{"path":"/lyrics/Young-jeezy-ft-jay-z/Put-on","song":"Young Jeezy (Ft. Jay-Z) - Put On"}]

And my autocomplete looks like this:

  $("input.quick_search").autocomplete(data, {
formatItem: function(item) {
return item.song;
},
formatResult: function(item) {
return "Loading...";
}
}).result(function(event, choice, formatted) {
if (choice) {
window.location.href = choice.path;
}
}).click(function() { this.select(); });

但现在自动完成功能使用精确的字符串匹配,这意味着“young on”不会匹配“Young Jeezy (Ft. Jay-Z) - Put On”。

如何在此处使用 LIKE 匹配?

最佳答案

我认为最好的方法是使用 regular expressions然后,您可以将输入转换为正则表达式,并根据该表达式测试您的候选者。

一个简单的开始是以点星号 .* 开头,以 .* 结尾,并将搜索词中的所有空格替换为 .*

希望这足以开始。

关于jquery - 与 LIKE 匹配的客户端自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1788586/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com