赞
踩
全文本搜索支持查询:
全文本搜索不区分大小写(not case-sensitive)
搜索原理:
• 全文本搜索基于全文索引(full-text index)
• 每个表只允许有一个全文索引,则表必须有一个唯一的非空列,可以选择多种数据类型
o 停用词处理
o Colld
o Docld : 标记出现在哪一行
o Occurrence:标记出现的顺序
o 若用户对原表进行更新,则会自动跟踪到更新的行并进行修改
• 只能针对表建立全文索引
• 一个全文目录(Catalog)可以包含多个全文索引,但一个全文索引只能用于构成一个全文目录
• 一个数据表只能创建一个全文索引,一个全文索引可以包含多个字段
• 创建全文索引的表必须有一个唯一的非空索引,并且这个唯一的非空索引只能是一个字段,不能是组合字段
• 可以对以下类型的列创建全文索引(char、varchar、nchar、nvarchar…)
全文索引的具体建立步骤:
SELECT Name, ListPrice
FROM Production.Product
WHERE ListPrice = 80.99
AND CONTAINS(Name, 'Mountain')
o CONTAINSTABLE
找出Description列中包含单词“aluminum”并与“light”和“lightweight”离得近的所有产品的ID与描述。仅返回排名为2或更高的列。
SELECT FT_TBL.ProductDescriptionID,
FT_TBL.Description,
KEY_TBL.RANK
FROM Production.ProductDescription AS FT_TBL INNER JOIN
CONTAINSTABLE (Production.ProductDescription,
Description,
'(light NEAR aluminum) OR
(lightweight NEAR aluminum)'
) AS KEY_TBL
ON FT_TBL.ProductDescriptionID = KEY_TBL.[KEY]
WHERE KEY_TBL.RANK > 2
ORDER BY KEY_TBL.RANK DESC;
• 匹配释义而非具体单词
o FREETEXT
找出所有包含与“vital safety components”有关的文档
SELECT Title
FROM Production.Document
WHERE FREETEXT (Document, 'vital safety components')
o FREETEXTTABLE
【使用说明】
• CONTAINS 和 FREETEXT
• CONTAINSTABLE和FREETEXTTABLE
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。