【发布时间】:2011-05-15 18:02:40
【问题描述】:
所以我想知道实现非负载密集型即时搜索的一般算法是什么。不是专门在网络上,而是在桌面/winforms 应用程序中。
如果我错了,请纠正我,但不能在每次击键时发送异步调用,对吗? (不确定how google instant manages this)它会在数据库/存储等上产生疯狂的负载。
我一直在想这样的事情:
- 每 xxx 毫秒触发一次计时器
- 着火、禁用输入、禁用计时器并发送异步调用以进行搜索。
- 当调用返回时,显示结果,启用输入,启用定时器
这是它通常的处理方式,还是有更好的方法?
【问题讨论】:
-
我认为您应该只在该人停止输入一段时间后触发,而不是禁用输入。
-
您不想在等待搜索返回时禁用输入 - 许多人的输入速度比您从服务器返回搜索结果的速度要快,这真的很烦人。
-
是的,所以你的意思是每 xxx 毫秒调用一次异步搜索?一般来说,我有时会觉得很烦人,你最终会查询你没有完成的短语,所有这些都是为了不按 Enter 键而加载的。也许我有点懒!大声笑我的人仍然认为它会令人印象深刻并且看起来更好!
标签: multithreading algorithm search