我有一个带有多个表的SQL数据库,我正在创建一个搜索特性。除了对不同的表进行多个查询之外,是否有不同的方法来执行所述的搜索功能?
我应该补充的是,我的很多内容都是由数据库驱动的,以便更容易地维护。露茜不会为这个工作的,对吧?
发布于 2008-10-30 15:12:13
不同的考虑办法:
1)预先准备的多个查询,如您所描述的。
2)根据用户输入的标准动态组合sql。
3)如果涉及文本,则基于Server全文搜索或Lucene。
在我的开源应用程序BugTracker.NET中,我同时执行2和3(使用Lucene.NET)。
我在这里记录了如何使用Lucene.NET:http://www.ifdefined.com/blog/post/2009/02/Full-Text-Search-in-ASPNET-using-LuceneNET.aspx
发布于 2008-10-30 15:18:11
既然你已经用Asp.net标记了这个问题,我想你应该想要搜索你的网页。在这种情况下,您可以使用索引服务器执行自由文本搜索,搜索生成的html和您设置的任何关键字。
正如Corey建议的那样,使用Lucene.NET也是一种选择。它有一个良好的声誉,是快速和相当容易使用。
发布于 2008-10-30 15:34:21
尽管其他答案提供了很好的建议,例如使用Lucene,但我更喜欢使用自定义缓存方法。
因此,对于我帮助创建的网站,我们每隔几个小时将可搜索的数据从许多表缓存到一个简单的表中,列如下:
然后,我将编写SQL语句来搜索这个字段,使用不同的函数来确定级别。
https://stackoverflow.com/questions/250503
复制相似问题