使用哪些策略在大型数据集上实现预先输入类型自动完成?

时间:2010-01-05 17:33:13

标签: .net ajax autocomplete

我是.NET WinForms / ASP.NET开发人员,我认为这是关于如何在大型数据集上实现“预先输入类型自动完成”的技术不可知问题。如果有人可以指出我参考实施或详细讨论,那将是很好的,但这是我的问题:

  1. 据推测,用户开始输入,并在一段时间后,客户端要求服务器提供数据以提前输入类型。这个间隔有多长,这是否有经验法则?随着搜索数据集的增长,这个经验法则会发生变化吗?如果用户再次开始输入但由于数据集的大小而导致上一个查询未完成,该怎么办?

  2. 使用哪些查询策略来提取数据集?显然,查询必须是异步的,但它不是简单的SQL“%search term%”吗?使用了哪些文本匹配策略?数据集缓存的严格程度如何?如果它太大而无法缓存怎么办?

  3. 当我们谈论使用AJAX的Web客户端与胖客户端桌面应用程序时,是否有任何不同的策略需要考虑?

  4. 在某些时候我会看一下特定的.NET实现,但我对这个阶段的策略更感兴趣。

1 个答案:

答案 0 :(得分:3)

解决您的第一个问题: 您需要考虑一定数量的性能特定注意事项。具有低延迟高带宽连接到快速且无过载的数据库(甚至可能是本地数据库)的系统可以更加积极地轮询服务器,并为最终用户提供完全不同的自动完成体验。

对于互联网应用程序,一般的经验法则是用户必须在基于服务器的自动完成功能启动之前输入三个字符。在某些情况下,这完全会发生变化。

我想这也是你第三个问题的一部分。