SQL Server 全文索引可以处理多少数据?

Nit*_*amk 5 performance full-text-search sql-server-2012

我意识到这个问题很模糊,这取决于硬件和我们的需求。

我们目前有 500 万行数据,总共有 5GB 的数据,我们希望使用全文索引对其进行索引。我们的数据增长非常快,假设几年后它会接近 10 亿行和 1 TB 数据并不是没有道理的。

该索引可供网站用户搜索,他们希望在一两秒钟内得到响应。

假设该数据集可使用 SQL Server 2012 全文索引编制索引是否合理?对如此大量的数据进行全文索引是否常见?有没有关于这个主题的好读物,例如来自其他人的经验?

Mar*_*ith 2

我个人还没有实现过接近该规模的 FTS,但有记录的示例:

\n
\n

除了对并发用户的强大支持之外,\nMetalife 还发现 SQL Server 2005 全文搜索速度很快。\xe2\x80\x9cSQL\nServer 2005 至少与我们的自定义代码一样快,\xe2\x80\x9d 说 Pavlova。\n\xe2\x80\x9c我们创建了一个自定义算法来返回所有全文搜索\n我们的 1.4 TB 数据库在不到一秒的时间内完成,这就是我们在 SQL Server 2005 中看到的\n\xe2\x80\x99。\xe2\x80\x9d [来源]

\n
\n

这里提到 1.4TB 作为源数据库,但这并不一定意味着 TB+ 的全文索引数据。

\n

这个例子非常聪明,从文件中提取内容,然后将它们转移到廉价的云存储中:

\n
\n

目前,客户正在将超过 5000 万个文件(超过 10 TB 的数据)迁移到自定义项目管理应用程序(针对国际客户),可以通过该应用程序访问并搜索这些文件。SQL Server 2008 全文索引用于索引这些文件的内容,这为它们在应用程序中提供了丰富的搜索功能。[来源]

\n
\n

据记录,Newsgator早在 2005 年就运行了25 亿行、4TB 的全文实现,而 FileControl 则拥有20 亿行、1TB 的系统。考虑到当今可用的其他选择,他们现在会做同样的事情吗?

\n

考虑到 SQL Server 的许可成本,如果适合您的用例,我会倾向于考虑替代方案。LuceneSolr是显而易见的开源选择。

\n