如何在搜索桌面程序中执行自动完成功能

时间:2009-12-06 21:54:52

标签: c# autocomplete

我正在编写一个搜索桌面程序,以便在SqlServer 2008 DB中查找单词和句子。

我想像巴比伦那样做:

当用户开始写第一个字母时,程序应该建议以该字母开头的前N个单词。 当他完成一个正确的单词时,程序应该建议包含这个单词的前N个句子。

我为搜索引擎编写了算法,但是使用线程开始前面的步骤,所以我在每个KeyPress事件上创建一个新线程。 我注意到这种方法的缓慢。有人可以推荐一个新的吗?

我的目标是让它像巴比伦一样。它的自动完成速度很快。

1 个答案:

答案 0 :(得分:1)

为什么不在同一个线程上针对同一个数据库运行算法。在我看来,每按一次按键的线程都是过度的。

你还可以做的是从表X获取行,然后针对它们运行算法而不是来回数据库(不确定你是否已经这样做了)。