WEB开发网
开发学院数据库DB2 使用 DB2 Text Search 进行全文本搜索 阅读

使用 DB2 Text Search 进行全文本搜索

 2009-11-20 00:00:00 来源:WEB开发网   
核心提示: 通配符 ?(用于单个字符)和 *(用于多个字符)返回与搜索词部分匹配的文档:清单 15. 使用通配符进行搜索SELECTauthor,year,substr(title,1,30)FROMbooksWHERECONTAINS(title,'comp*')=1AUTHORYEAR3

通配符 ?(用于单个字符)和 *(用于多个字符)返回与搜索词部分匹配的文档:


清单 15. 使用通配符进行搜索
SELECT 
 author, year, substr(title,1,30)  
 FROM books WHERE CONTAINS(title, 'comp*') = 1 
 
 
AUTHOR             YEAR    3 
------------------------------ ----------- ------------------------------ 
Samantha Smitt            2001 The Database Compendium 
 
 1 record(s) selected. 

应避免在搜索词的开头使用通配符,因为这对查询性能有明显的负面影响。

如果想获取结果示例,可以用 RESULTLIMIT 参数限制文档的数量:


清单 16. 用 RESULTLIMIT 参数限制文档的数量
SELECT 
author, year, substr(title,1,30) 
 FROM books WHERE CONTAINS(title, 'mountain', 'RESULTLIMIT=1') = 1 
 
 
AUTHOR             YEAR    3 
------------------------------ ----------- ------------------------------ 
Joe Climber              1995 Climber's Mountain Tops 
 
 1 record(s) selected. 

根据相关度获取结果

使用 SCORE 函数确定一条结果相对于其他结果与搜索词的匹配程度。


清单 17. 通过使用 SCORE 函数获得文档的相关度
SELECT 
 title FROM books 
 WHERE CONTAINS(title, 'mountain') = 1 ORDER BY SCORE(title, 'mountain') DESC 
 
 
TITLE 
------------------------------------------------------------------- 
Top of the Mountain: Mountain Lore 
Climber's Mountain Tops 
 
 2 record(s) selected. 

上一页  2 3 4 5 6 7 8 9  下一页

Tags:使用 DB Text

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接