什么时候应该使用全文搜索而不是使用类似的搜索,例如
SELECT * FROM myTABLE WHERE myCOLUMN LIKE '*something'
发布于 2011-03-23 10:41:59
全文查询对全文索引中的文本数据执行语言搜索,方法是根据特定语言(如英语或日语)的规则对单词和短语进行操作。全文查询可以包括简单的单词和短语或单词或短语的多种形式。
全文搜索适用于范围广泛的业务场景,如电子商务--在网站上搜索项目;律师事务所--在法律数据存储库中搜索案例;或人力资源部门--将职务描述与存储的简历匹配。无论业务场景如何,全文搜索的基本管理和开发任务都是等价的。但是,在给定的业务场景中,可以通过完善全文索引和查询来满足业务目标。例如,对于电子商务来说,最大限度地提高性能可能比结果排名、回忆准确性(现有匹配中有多少实际由全文查询返回)或支持多种语言更为重要。对于一家律师事务所来说,最重要的考虑因素可能是归还所有可能的打击(信息的全面召回)。“
的比较
“与全文搜索不同,LIKE SQL谓词只适用于字符模式。此外,您不能使用类似的谓词来查询格式化的二进制数据。此外,对大量非结构化文本数据的类似查询要比对相同数据的等效全文查询慢得多。对数百万行文本数据的类似查询可能需要几分钟才能返回;而对相同数据的全文查询可能只需要几秒钟或更短的时间,这取决于返回的行数。”
因此,主要的区别在于他们所做的搜索类型:全文是关于单词搜索的,而LIKE是关于字符搜索的。我个人会在有大量人工文本的表上使用全文搜索--通常是大列(大描述,超过标准的8k字符)在大表(数百万行)中。需要记住为FTS添加的管理(创建目录、索引,需要时更新它们)。
https://dba.stackexchange.com/questions/1862
复制相似问题