exec sp_fulltext_database 'enable'
exec sp_fulltext_catalog 'VK_Test', 'create', 'e:\FullText'
exec sp_fulltext_table 'tb_topics', 'create', 'VK_Test','pk_tb_topics'
exec sp_fulltext_column 'tb_topics', 'title', 'add'
execute sp_fulltext_table 'tb_topics','activate'
exec sp_fulltext_table 'tb_topics', 'start_full'
select FULLTEXTCATALOGPROPERTY('VK_Test', 'Populatestatus') select * from freetexttable(tb_topics, title,'%的%') a
inner JOIN tb_topics dd
ON a.[KEY]=dd.tid SELECT * FROM tb_topics tt WHERE tt.title LIKE '%的%'全文检索出来的是170条,而模糊查询出来的是5W多条,差的也太多了吧,求高手指教
select * from tb_topics tt WHERE patindex(''%的%',title)>0
点要注意 like 查询的效率非常低 如果数据良的话几个小时以后返回结果都有可能.
全文索引是将匹配度(相似度)比较高的排在前面。匹配效果是按term(词源)匹配。其中词源这还
有分词的定义像中文‘和服’与 “商品和服务” 分词要按商品与服务两个词来分,就将和服排后面否则包括“和服”这个词的会被排上面
以上仅凭个人理解
select * from freetexttable(tb_topics, title,'世界') a
inner JOIN tb_topics dd
ON a.[KEY]=dd.tidSELECT * FROM tb_topics tt WHERE tt.title LIKE '%世界%'全文检索方式返回的:世界前后必须有空格、单引号、双引号、或者其他符号等等,系统才会返回,如果是中文和关键词连在一起,系统是不返回的。不知道有什么办法解决这个问题?