首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为我的应用程序构建搜索机制?

问如何为我的应用程序构建搜索机制?
EN

Stack Overflow用户
提问于 2008-12-23 21:28:04
回答 7查看 2.5K关注 0票数 6

这似乎是一个共同的要求,现在有一个搜索功能,可以搜索几乎任何你想要的。有没有人能给我一些关于如何构建一个应用程序的一站式搜索的示例或提示?

例如:您有3个表customers、products、employees。这个应用程序有一个母版页,在右上角有一个文本框,与stackoverflow上的非常相似。

如何进行搜索,例如输入"Phoenix“,并得到如下结果

客户

代码语言:javascript
复制
Result 1
......

产品

代码语言:javascript
复制
Result 1
......

员工

代码语言:javascript
复制
Result 1
......

任何技巧,教程和提示都将非常感谢。我的环境是Win2k3、.net3.5、C#、ASP.net。

编辑:专门关注性能和可伸缩性。

提前感谢!

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2008-12-23 22:10:16

Lucene.NET是一个速度极快的全文搜索引擎。

示例用法:

参见Source code of DotNetKicks starting from codebehind of search page

票数 3
EN

Stack Overflow用户

发布于 2008-12-23 22:43:36

如果您想要一些真正可伸缩的东西,我想您必须首先构建一个数据字典,列出数据库中的每个表和每一列。这样的表的构建可以是fully automated的。

您将在此表中指明哪些字段可用于直接搜索或软搜索(使用通配符)。

然后,您将能够构建一些漂亮而智能的用户界面,在该界面中,只要发票编号字段可用于软搜索,机器将能够发现诸如'*823*'之类的代码同时引用'INV-0823456'和'INV-0880823'发票编号。用户甚至可以选择要搜索的列,因为扫描数据库中的所有电话号码可能并不总是有意义的。

您不应该尝试为所有可搜索列建立索引。“全索引”策略可能会使磁盘卷\服务器开销变得非常昂贵,并且对于很少搜索的列并不总是有意义的。这一点不用太担心:用户不会介意在获得答案的过程中出现一些延迟。

票数 2
EN

Stack Overflow用户

发布于 2008-12-23 21:36:48

一种方法是使用find the searched value in all tables in the database。当然,可以修改这段代码,使其专注于特定的表和列。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/390106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档