我一直在寻找在我的网络应用程序上实现即时文本搜索的不同方法;目前它使用带有通配符的非常基本的SQL LIKE查询。
我已经研究了许多实现搜索的方法,但我从未见过有人建议执行以下操作:
当用户输入时,当查询达到4或5个字符时,执行数据库搜索。
向用户显示结果,当他们继续输入时,只需使用Javascript过滤结果,因此不再需要数据库调用。
这样每次搜索只会有一个数据库调用,如果用户输错,他们可以退格,Javascript会负责显示正确的结果。
此方法有任何缺点吗?
答案 0 :(得分:1)
这似乎在理论上有效,但我个人更喜欢在搜索之前按Enter或等待500毫秒不活动。
可能导致额外数据库查询的一件事是用户以给定间隔退格(在您的情况下为4个字符)。
但我认为真正的缺点是额外的JS编码+仍然需要PHP编码。