日期:2014-05-17  浏览次数:20450 次

建立全文索引后的一些问题
mssql  建立了全文索引后  用select * from school where CONTAINS (schoolname,'湖南黄达中学')找不到记录

但用 select * from school where schoolname like '%湖南黄达中学%' 是可以找到记录的。

我检查了schoolname 字段,有一条记录是“湖南黄达中学”

于是有又用select * from school where CONTAINS (schoolname,'黄达')可以找到记录

请问怎么才能用select * from school where CONTAINS (schoolname,'湖南黄达中学') 找到记录
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

难道真的没有办法了吗?


好像没什么好办法了,这种模糊查询的优化,比较困难,而sql server的全文检索技术,也是有问题的,容易导致查询的时候,漏查,你用like能找到的记录,全文索引就是找不到。。。


但用like 查询又慢,怎么办呢?不知道有没有什么好办法,我看有多网站还是有二十万条数据,根据关键词查询也很快啊。


其实这种全文检索技术,适合那种不是很精确的查询,我记得我以前看过一本搜索引擎的书,里讲到搜索引擎其实用的就是全文检索,因为不是那种特别精确的场合,所以可以使用。

另外,就是你的服务器性能,一般的服务器,如果是对100w条数据的表,进行扫描,只需要1-2秒左右,就可以,这个还和你的服务器配置,包括cpu、内存、硬盘有关把