我在SQL 2005框上构建了一个全文目录,在重新构建过程完成后,运行速度非常慢。我实现了一个hack(即try ... catch {do again}),这样我的用户就不会收到超时错误;这让我心情不好。所有后续查询都是快速的。
有没有人遇到过这个问题,是否有解决方案?谢谢!
P.S。是的,我已多次谷歌了。即使用我的左手。
答案 0 :(得分:2)
这也可能是由我们遇到的这个Sql Server“功能”造成的。
在无法访问Internet的服务器上运行的SQL Server 2005实例中运行全文查询时,可能会遇到45秒的延迟
答案 1 :(得分:1)
这可能不是你问题的直接答案,但是在stackoverflow播客系列中讨论了mssql的全文搜索,结论是它不是最好的事情:)
所以,如果您能够将其更改为第三方库,您可以尝试使用jeff& amp; co。,Apache Lucene库。 Java版本位于http://lucene.apache.org/java/docs/,.net端口位于http://incubator.apache.org/lucene.net/
答案 2 :(得分:0)
我也有这个。第一次打得很慢,休息很快。尝试各种各样,无法解决它。
很想知道这个问题的答案。
答案 3 :(得分:0)
您可以通过“设置开始后台updateindex”和“开始更改跟踪”(每个单词之间应该有一个下划线)来防止必须完全重建索引。每个表都是全文索引。
这允许sql server仅在需要时使用更改来更新索引。它可能会帮助您解决问题,因为索引没有重建。
答案 4 :(得分:0)
我是Lucene.Net的第二个建议。我之前曾尝试使用全文搜索和SQL构建各种“搜索引擎”。当搜索条件变得复杂并且查询经常超时时,总是存在问题。在my new site我使用Lucene.Net项目构建了搜索引擎,它运行得非常好,并且比SQL FTS快得多。