我有一个MS SQL数据库并且有一个varchar
字段,我想查询where name like '%searchTerm%'
这样的查询。但即使使用SQL企业的全文索引,它现在太慢了。
有人可以解释Lucene .Net
如何帮助我的情况吗?索引器如何工作?查询如何工作?
我做了什么,我该怎么办?
答案 0 :(得分:6)
我看到这个人(Michael Neel)在用户组会议上出现在Lucene上 - 实际上,你构建索引文件(使用Lucene)并且他们有你想要的任何指针(数据库行,无论如何)
http://code.google.com/p/vinull/source/browse/#svn/Examples/LuceneSearch
非常快速,灵活和强大。
Lucene的优点是能够使用Lucene将各种事物(文件,图像,数据库行)一起索引到您自己的索引中,然后将其转换回您的业务域,而使用SQL Server,它必须全部在SQL中被索引。
Google代码中的幻灯片看起来并不像那样。
答案 1 :(得分:4)
这个article(奇怪的是它位于Google搜索结果的顶部:)对Lucene搜索的优化方式有一个相当不错的描述。
正确配置Lucene应该轻松击败SQL(2005年之前)的全文索引搜索。如果您使用MS SQL 2005并且搜索性能仍然太慢,则可以考虑检查数据库设置。