这似乎是一个共同的要求,现在有一个搜索功能,可以搜索几乎任何你想要的。有没有人能给我一些关于如何构建一个应用程序的一站式搜索的示例或提示?
例如:您有3个表customers、products、employees。这个应用程序有一个母版页,在右上角有一个文本框,与stackoverflow上的非常相似。
如何进行搜索,例如输入"Phoenix“,并得到如下结果
客户
Result 1
......产品
Result 1
......员工
Result 1
......任何技巧,教程和提示都将非常感谢。我的环境是Win2k3、.net3.5、C#、ASP.net。
编辑:专门关注性能和可伸缩性。
提前感谢!
发布于 2008-12-23 22:10:16
发布于 2008-12-23 22:43:36
如果您想要一些真正可伸缩的东西,我想您必须首先构建一个数据字典,列出数据库中的每个表和每一列。这样的表的构建可以是fully automated的。
您将在此表中指明哪些字段可用于直接搜索或软搜索(使用通配符)。
然后,您将能够构建一些漂亮而智能的用户界面,在该界面中,只要发票编号字段可用于软搜索,机器将能够发现诸如'*823*'之类的代码同时引用'INV-0823456'和'INV-0880823'发票编号。用户甚至可以选择要搜索的列,因为扫描数据库中的所有电话号码可能并不总是有意义的。
您不应该尝试为所有可搜索列建立索引。“全索引”策略可能会使磁盘卷\服务器开销变得非常昂贵,并且对于很少搜索的列并不总是有意义的。这一点不用太担心:用户不会介意在获得答案的过程中出现一些延迟。
发布于 2008-12-23 21:36:48
一种方法是使用find the searched value in all tables in the database。当然,可以修改这段代码,使其专注于特定的表和列。
https://stackoverflow.com/questions/390106
复制相似问题