如何在数据库中实现快速搜索(如google)。

问题描述:

我有一个关于Java技术的项目(使用SpringMVC的Web应用程序)。数据库作为MS访问。它包含一些具有主键,所有关系的表。我必须实现一个搜索模块,在这个模块中为用户提供4-5个输入框或组合框,基本上提供输入的基础是一个特定的数据集可以通过点击按钮从数据库中检索并显示在数据网格的页面上。但我期待着快速搜索方法(就像我们在Google中那样),只要用户输入数值,网格中的数据就会自行更改,而无需点击按钮。数据网格根据用户输入的相应值进行刷新。我还没有尝试过像以前一样。所以想知道从哪里开始。任何代码或有用的链接?请帮忙。谢谢。如何在数据库中实现快速搜索(如google)。

+0

http://computer.howstuffworks.com/internet/basics/google1.htm – ManseUK 2012-03-15 14:24:40

+2

从它的声音,你不是在寻找“快速搜索”,你正在寻找一个自动完成弹出 – vol7ron 2012-03-15 14:28:26

+1

不,他是不寻找自动完成。他正在寻找类似于Google即搜即得的功能。两者之间有很多不同之处。如果你谈论谷歌,与谷歌即时这是一个庞大的数据应用程序相比,自动完成是一个“小型”数据大小应用程序(“相对比较”,虽然谷歌自动完成也是巨大的): – Yavar 2012-03-15 17:31:30

Google使用jQueryAjax来实现此目的。您必须捕获关键事件并基于此回发。

我有一段时间问过类似的问题。这可能是你的兴趣:我想说,它需要一个超快的服务器应用程序(这是主要的事情)Interesting Computing stuff in designing User Interfaces

之前谈到的jQuery/Ajax的东西,不会让你在几毫秒的结果。

我使用Solr搜索引擎来索引Tera字节的数据,在前端我使用jsonp/javascript进行渲染。但请记住另一件重要的事情,在每次按键时,网格中的结果应该改变,这意味着您必须查询您的搜索引擎或sql或任何可以将您的查询的部分匹配结果提供给您的结果。对于Google Instant这样的部分匹配,您需要在后端添加NGram索引以及其他一些功能。

给它一个去!即使重新发明*,解决这个问题也是一个有趣的问题。