在数据库的表T_orderform中我存储的数据有passengers列都是像这样的
"关傲翔|TSUNO/HISASH|殷晓磊|廖凤彪|齐林|陈彬|胡艳萍|张卫军|董长福"
"董长福|FUKUMORI/KOICHI|陈斌|陈TING|胡艳萍"
用这样的查询数据
select passengers,* from T_orderform where contains(passengers,'董长福')---能查出一行
select passengers,* from T_orderform where passengers like '%胡艳萍%'--能查两行出来
这样全文索引就没有办法了吗?用like实在是太慢了。请各位高人解答,正解即结贴
------解决方案--------------------
你有没有把:董长福这个数据的位置和胡艳萍的位置兑换一下?好久没搞全文索引了。猜一下
------解决方案--------------------
还不会全文索引,帮顶·看楼下大牛神解
------解决方案--------------------
LZ
这个明显是爬网的问题(建立全文目录的时候,断字的处理需要关注)
------解决方案--------------------
我刚才自己做了测试,用全文索引可以搜索出两条记录,不知道你是怎么设置的,下面是我的SQL语句,供参考
- SQL code
use testdbexecute sp_fulltext_database 'enable'execute sp_fulltext_catalog 'FT_testdb','create'execute sp_fulltext_table T_orderform,'create','FT_testdb','PK__T_orderform__0EA330E9'execute sp_fulltext_column 'T_orderform','passengers','add'execute sp_fulltext_table T_orderform,'activate'execute sp_fulltext_catalog 'FT_testdb','start_full'-------------------------------------if object_id('T_orderform') is not null drop table T_orderformgocreate table T_orderform(id int identity(1,1) primary key,passengers nvarchar(100))goinsert into T_orderform(passengers)select N'关傲翔|TSUNO/HISASH|殷晓磊|廖凤彪|齐林|陈彬|胡艳萍|张卫军|董长福' union allselect N'董长福|FUKUMORI/KOICHI|陈斌|陈TING|胡艳萍'goselect * from T_orderformwhere contains(passengers,N'董长福')/*id passengers----------- ----------------------------------------------------------------1 关傲翔|TSUNO/HISASH|殷晓磊|廖凤彪|齐林|陈彬|胡艳萍|张卫军|董长福2 董长福|FUKUMORI/KOICHI|陈斌|陈TING|胡艳萍*/