改进 sql 中的文本搜索

Posted

技术标签:

【中文标题】改进 sql 中的文本搜索【英文标题】:Improve text Search in sql 【发布时间】:2012-01-22 09:07:26 【问题描述】:

如何在不使用 like '%%' 表达式的情况下,并使搜索更快

【问题讨论】:

【参考方案1】:

使用 SQL Server 的Full-Text Search 功能:

与全文搜索相比,LIKE Transact-SQL 谓词有效 仅在字符模式上。此外,您不能使用 LIKE 谓词 查询格式化的二进制数据。此外,针对一个大型的 LIKE 查询 非结构化文本数据的数量比等价的要慢得多 针对相同数据的全文查询。针对数百万的 LIKE 查询 多行文本数据可能需要几分钟才能返回;而全文 针对相同的数据,查询可能只需要几秒钟或更短的时间,具体取决于 返回的行数。

另见:How to enable Full-text Indexing in SQL Server 2005 Express?

【讨论】:

非常感谢您提供这些信息,我想知道如何进行全文搜索??【参考方案2】:

哈宁,

该链接将向您展示您需要做什么。正如 Ziesemer 指出的那样,最终您需要添加全文索引。如果您要查询文档,请确保安装适当的 iFilter(PDF、Office Docs 等)。

请查看我在使用全文索引进行 PDF 搜索时遇到的here 问题(如果您打算搜索文件,希望这将为您节省一些时间)

--S

【讨论】:

以上是关于改进 sql 中的文本搜索的主要内容,如果未能解决你的问题,请参考以下文章

尝试忽略 Winforms 中的空文本框以过滤 sql 搜索查询

如何使用 T-SQL 在数据库中的所有文本字段中搜索某些子字符串

《艳遇SOLR》7-- 传统数据库在文本搜索中的劣势

返回全文搜索中找到的短语的周围文本,SQL 2005

查询反模式 - 全文搜索

SQL Server 在列中搜索文本