全文本检索的应用(2)

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 (.8), 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 等等。

以上例子都使用英文,不使用中文是因为有的查询方式中文不支持,而且我的计算机是英文系统

付:对《全文检索1得质疑》:

5. 更新全文本索引的过程比常规索引要耗时,而且也不象常规索引那样可以由数据库系统立即更新。
可以立即更新的
9. 如果在查询中包含 noise words ,就会引发错误,在应用程序中应去除这些 noise words。
不对,查询时会自己过滤掉noise word,只有查询的内容全是noise words时才会出现错误

全文本检索的应用(1) 

时间: 2024-11-01 07:53:27

全文本检索的应用(2)的相关文章

全文本检索的应用(1)

    基本知识1. SQL Server7 的 DeskTop 版中没有全文本检索.2. 一个表只能有一个全文本检索.3. 被检索的表必须有单列的唯一索引.4. 全文本的索引存储在文件系统中,而非数据库中.5. 更新全文本索引的过程比常规索引要耗时,而且也不象常规索引那样可以由数据库系统立即更新.6. 全文本索引包含在全文本目录( Full-Text Catalog )中,每个数据库可以包含一个或多个目录,但一个目录不能属于多个数据库.7. 全文本检索只能在真正的表上创建,不能是视图,系统表,

全文本检索的应用(3)

CONTAINSTABLE 语法我们通常在 FROM 子句中使用 CONTAINSTABLE ,就象这样:SELECT * FROM table_name,CONTAINTABLE(fulltext_table,fullText_column,'search condition') WHERE ....... CONTAINSTABLE 在查询方式上与 CONTAINS 几乎一样,所以就不用赘述了.CONTAINSTABLE 返回的是符合查询条件的表,在 SQL 语句中我们可以把它当作一个普通的

全文本检索的应用(二)

CONTAINS 语法我们通常在 WHERE 子句中使用 CONTAINS ,就象这样:SELECT * FROM table_name WHERE CONTAINS(fullText_column,'search contents').我们通过例子来学习,假设有表 students,其中的 address 是全文本检索的列.1. 查询住址在北京的学生SELECT student_id,student_nameFROM studentsWHERE CONTAINS( address, 'beij

全文本检索的应用(三)

CONTAINSTABLE 语法我们通常在 FROM 子句中使用 CONTAINSTABLE ,就象这样:SELECT * FROM table_name,CONTAINTABLE(fulltext_table,fullText_column,'search condition') WHERE .......CONTAINSTABLE 在查询方式上与 CONTAINS 几乎一样,所以就不用赘述了.CONTAINSTABLE 返回的是符合查询条件的表,在 SQL 语句中我们可以把它当作一个普通的表

全文本检索的应用

基本知识1. SQL Server7 的 DeskTop 版中没有全文本检索.2. 一个表只能有一个全文本检索.3. 被检索的表必须有单列的唯一索引.4. 全文本的索引存储在文件系统中,而非数据库中.5. 更新全文本索引的过程比常规索引要耗时,而且也不象常规索引那样可以由数据库系统立即更新.6. 全文本索引包含在全文本目录( Full-Text Catalog )中,每个数据库可以包含一个或多个目录,但一个目录不能属于多个数据库.7. 全文本检索只能在真正的表上创建,不能是视图,系统表,临时表.

CONTAINS 语法

CONTAINSTABLE 语法我们通常在 FROM 子句中使用 CONTAINSTABLE ,就象这样:SELECT * FROM table_name,CONTAINTABLE(fulltext_table,fullText_column,'search condition') WHERE ....... CONTAINSTABLE 在查询方式上与 CONTAINS 几乎一样,所以就不用赘述了.CONTAINSTABLE 返回的是符合查询条件的表,在 SQL 语句中我们可以把它当作一个普通的

like 和 contains 和match() against()

Like直接在数据据中查找可以查到所有所需记录但是会扫描整个表会影响性能, CONTAINS是基于全文索引 进行查询,查询结果受系统全文索引分词的方法影响查询结果会不全. Select * FROM A Where CONTAINS(B,'"IT"Or"理论"')5257条记录 Select * FROM A Where B Like'%IT%' or B LIKE '%理论%' 5468条记录 结论:需要精确查询用Like如产品搜索,内容搜索可以用CONTAINS

SQL Server 2005你了解多少?

 很多人关心的和担心的都是SQL Server 2005 相对它的前版本SQL Server 2000所做的重大改进或新增功能. 在我升级到SQL2005之后,不得不说的:你也值得拥有.(套用一句广告语,呵呵) 我总结了一下个人认为SQL Server 2005 中最值得你为之升级的10 个理由.无论你是想了解或学习SQL Server 2005,还是正在评估或考虑升级到SQL Server 2005,我相信当时你看完这篇帖子一定会对你的决定起到参考作用. 升级理由一:数据分区 只有到了2005

外行不在只看热闹-揭秘外行人士所不知道的OA

问题描述 原文出自:http://www.winfreeinfo.com/vnews260.html转载请注明出处俗话说,内行看门道外行看热闹,在日新月异信息化行业更是如此,在OA行业格外明显.外行人士(即用户)在选型时,往往是被内行(即系统厂商)牵着鼻子走,OA是个大杂烩,其业务边界没有像其他信息系统那样清晰,且没有标准,不同的企业类型,不同的业务需求.如何满足纷繁变化的管理需求?如何在这种无标准的市场中,用一套标准化的方案解决企业各有不同的业务需求?以上现状是我们在企业走访调研时候都会遇到的