免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3546 | 回复: 1
打印 上一主题 下一主题

全文本检索的应用(2) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2002-01-17 08:58 |只看该作者 |倒序浏览
CONTAINS 语法

我们通常在 WHERE 子句中使用 CONTAINS ,就象这样:SELECT * FROM table_name WHERE CONTAINS(fullText_column,\'search contents\')。

我们通过例子来学习,假设有表 students,其中的 address 是全文本检索的列。

1. 查询住址在北京的学生


SELECT student_id,student_name
FROM students
WHERE CONTAINS( address, \'beijing\' )

remark: beijing是一个单词,要用单引号括起来。

2. 查询住址在河北省的学生


SELECT student_id,student_name
FROM students
WHERE CONTAINS( address, \'\"HEIBEI province\"\' )

remark: HEBEI province是一个词组,在单引号里还要用双引号括起来。

3. 查询住址在河北省或北京的学生


SELECT student_id,student_name
FROM students
WHERE CONTAINS( address, \'\"HEIBEI province\" OR beijing\' )

remark: 可以指定逻辑操作符(包括 AND ,AND NOT,OR )。

4. 查询有 \'南京路\' 字样的地址


SELECT student_id,student_name
FROM students
WHERE CONTAINS( address, \'nanjing NEAR road\' )

remark: 上面的查询将返回包含 \'nanjing road\',\'nanjing east road\',\'nanjing west road\' 等字样的地址。
          A NEAR B,就表示条件: A 靠近 B。

5. 查询以 \'湖\' 开头的地址


SELECT student_id,student_name
FROM students
WHERE CONTAINS( address, \'\"hu*\"\' )

remark: 上面的查询将返回包含 \'hubei\',\'hunan\' 等字样的地址。
          记住是 *,不是 %。

6. 类似加权的查询


SELECT student_id,student_name
FROM students
WHERE CONTAINS( address, \'ISABOUT (city weight (., county wright (.4))\' )

remark: ISABOUT 是这种查询的关键字,weight 指定了一个介于 0~1之间的数,类似系数(我的理解)。表示不同条件有不同的侧重。

7. 单词的多态查询


SELECT student_id,student_name
FROM students
WHERE CONTAINS( address, \'FORMSOF (INFLECTIONAL,street)\' )

remark: 查询将返回包含 \'street\',\'streets\'等字样的地址。对于动词将返回它的不同的时态,如:dry,将返回 dry,dried,drying 等等。

论坛徽章:
0
2 [报告]
发表于 2002-01-17 09:41 |只看该作者

有一个你没有给我解决的问题???

首选你有一个句子好象不对:
WHERE CONTAINS( address, \'\"HEIBEI province\" OR beijing\' )
应该是:contains(address,\'\"heibei province\" or \"beijing\"\')

再有:你上面帖子中的内容我这里有资料都能查到,但有一个查不到的问题你也没有说明呀

我想在网站中做一个类似GOOGLE。COM的站内查询,但无法解决汉字的问题
例如:where contains(address,\'\"南京\" or \"北京\"\')
这样行吗,可我查不出来呀,SQL SERVER2000的全文索引不支持”汉字“吗??
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP