使用 DB2 Text Search 进行全文本搜索
2009-11-20 00:00:00 来源:WEB开发网通配符 ?(用于单个字符)和 *(用于多个字符)返回与搜索词部分匹配的文档:
清单 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.
更多精彩
赞助商链接