3000 万个不同的短语,而不是文档,从一个单词到 10 个单词的句子,我需要支持单词/短语搜索。基本上是什么contains(phrase, "'book' or 'stack overflow'")提供的。
我有一个 SQL Server 2005 实例(32 位,4 proc,4gb)针对几个全文目录,对于高基数的单词搜索,性能很糟糕。
这是我加快速度的想法,也许有人可以提供指导-
1) 升级到 2008 iFTS,64 位。Sql Server 2005 FTS 的 windows 服务永远不会超过 50mb。根据我收集到的信息,它使用文件系统缓存来查找目录索引。我在磁盘上填充的目录只有大约 300mb,那么为什么不能全部都在内存中呢?iFTS 的新内存架构(它是 sqlserver 进程的一部分)可能在这里有帮助吗?
2) 将目录扩展到多台服务器。对链接的 FTS 服务器的查询会并行运行吗?
3)由于我在这里搜索短语而不是文档,因此可能 Sql Server 的全文搜索不是答案。Lucene.NET?将目录索引放在内存驱动器上?