2

我一直在寻找在我的 Web 应用程序上实现即时文本搜索的不同方法;目前它使用带有通配符的非常基本的 SQL LIKE 查询。

我已经研究了许多实现搜索的方法,但我从未见过有人建议执行以下操作:

  1. 当用户键入时,当查询达到 4 或 5 个字符时,执行数据库搜索。

  2. 向用户显示结果,当他们继续输入时,只需使用 Javascript 过滤结果,因此不需要更多的数据库调用。

这样每次搜索只会有一个数据库调用,如果用户打错字,他们可以退格,Javascript 会负责显示正确的结果。

这种方法有什么缺点吗?

4

1 回答 1

1

这在理论上似乎可行,但我个人更喜欢在搜索之前按 Enter 或等待 500 毫秒不活动。

可能导致额外数据库查询的一件事是用户是否在给定的时间间隔内退格(在您的情况下为 4 个字符)。

但我认为真正的缺点是额外的 JS 编码 + 仍然需要 PHP 编码。

于 2013-03-11T09:40:13.880 回答