一切福田,不離方寸,從心而覓,感無不通。

Sql2008 全文索引 简明教程

在SQL Server 中提供了一种名为全文索引的技术,可以大大提高从长字符串里搜索数 据的速度,不用在用LIKE这样低效率的模糊查询了。 下面简明的介绍如何使用Sql2008 全文索引 一、检查服务里面带有Full-text字样的服务是否存在并开启 如果不存在带有Full-text字样的服务的,确认是否安装了sqlserverFullTextSearch 二、新建全文目录 全文目录是用来存储全文索引的 三、为表定义全文索引 四、点击下一步,按提示选择 1.确认下一步 2.选择唯一索引,通常是主键 3.选择要建立的全文索引列,对于断字符的选择如果列存的是中文就选择chinese,如果是英文就选择English 4.选择索引更新方式,可以先自动更新,以后数据量大了可以设置添加全文索引的计划 5.选择全文目录 五、全文索引的SQL查询关键字 建立好全文索引后就可以使用SQL语句来查询了,主要用带三个关键字 CONTAINS、FREETEXT、CONTAINSTABLE和FREETEXTTABLE 1. CONTAINS 搜索单个词和短语的精确或模糊的匹配项,要搜索的内容必须是个有意义的词语,比如说“苹果”、“建设厅”,不能是一些没意义的词语,比如“阿迪撒啊是”,“儿儿的”这样的词语即使 LIKE是能查询出来,但全文索引对这样没意义的词语可能没有建立索引,查不出来 [sql] view plaincopy SELECT * FROM dbo.Business WHERE CONTAINS(Address,'旅游') 实现功能:查询Business表中Address列包含“旅游”的行 详细查看:http://msdn.microsoft.com/zh-cn/library/ms187787.aspx 2. FREETEXT 和CONTAINS类似,不同的是它会先把要查询的词语先进性分词然后在查询匹配项 [sql] view plaincopy 01.select * 02.from dbo.Business 03.where freetext(Address,'带婴儿旅游') 详细查看:http://msdn.microsoft.com/zh-cn/library/ms176078.aspx 3.CONTAINSTABLE 在查询方式上与 CONTAINS 几乎一样。但CONTAINSTABLE 返回的是符合查询条件的表,在 SQL 语句中我们可以把它当作一个普通的表来使用,并且使用 CONTAINSTABLE 的查询对每一行返回一个相关性排名值 (RANK) 和全文键 (KEY)。 [sql] view plaincopy SELECT  * FROM    Business AS FT_TBL         INNER JOIN CONTAINSTABLE(Business, *, 'ISABOUT (婴儿 WEIGHT (.8),赤水 WEIGHT (.4) )')         AS KEY_TBL ON FT_TBL.BusinessId = KEY_TBL.[KEY] ORDER BY KEY_TBL.RANK DESC ISABOUT 是这种查询的关键字,weight 指定了一个介于 0~1之间的数,类似系数。表示不同条件有不同的侧重。 CONTAINSTABLE 返回的表包含有特殊的两列:KEY,RANK。 被全文索引的表必须有唯一索引。这个唯一的索引列在返回的表中就成为 KEY。我们通常把它作为表连接的条件。 在某些网站搜索时,结果中会出现表示匹配程度的数字,RANK 与此类似。它的值在0~1000之间,标识每一行与查询条件的匹配程度,程度越高,RANK 的值大,通常情况下,按照 RANK 的降序排列。  详细查看:http://msdn.microsoft.com/zh-cn/library/ms189760.aspx 4. FREETEXTTABLE 在查询方式上与 FREETEXT 几乎一样。但 FREETEXTTABLE 返回的是符合查询条件的表,在 SQL 语句中我们可以把它当作一个普通的表来使用,并且使用  FREETEXT  的查询对每一行返回一个相关性排名值 (RANK) 和全文键 (KEY)。 [sql] view plaincopy SELECT  * ,         BusinessID ,         Address FROM    Business AS FT_TBL […]

龙生   22 Sep 2014
View Details

关于在FireFox中获取radio值的获取方法(原)

之前转了一篇关于jQuery获取 select 、radio、checkbox 值的文章。   其中关于获取radio值的方法是: $("input[@type=radio][@checked]").val(); 或者 $("input[name=’radioName'][checked]").val();   实际上 上面的两种方法在IE中可以正常工作,而FireFox/Chrome浏览器下是无效的,其中第二种方法只能获取到,你在代码中初始化checked="checked"的radio值   之后翻看了一下《jQuery in Action》发现里面的例子的写法为   $("input[name=’radioName']:checked").val();   其实以前在刚看完《jQuery in Action》时写的方法都是正确的,可时间一长就容易忽略这些小细节了,导致直接从网上找了解决方法。并且一直错误的认为jQuery是没有浏览器兼容问题的,看来以后在看书是一定只要注意一些细节问题了。 from:http://www.thinksaas.cn/group/topic/226414/

龙生   22 Sep 2014
View Details