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

请问全文搜索如何搜索出没有分词出来的字?
例如有一句话是“我是一个程序员”  分词的结果可能是 【我】【是】【一个】【程序员】  使用这些词搜索可以搜到  但是如果使用【程】来搜索就搜不到了

请问有什么方法可以解决这个问题?用select * from ..  where .. like '%程%'太慢了

谢谢
全文搜索?分词??准确?匹配? 全文搜索 分词 速度 准确度

------解决方案--------------------
要快就必须分词,否则就要接受这种慢。
你也可以考虑自己写个程序解决这个问题。
------解决方案--------------------
请教了一下我们的dba,like对于这样的"a%",使用索引可以提高效率,如果是对应这样的"%a"后置的好像只有oracle,db2可以做到索引提高like效率,要不然都会做全表扫描的,你可以参考一下这个关于like的优化:
sql server中巧用like提高效率
------解决方案--------------------
引用:
嗯  那请问如果想实现根据任意字(文章中包含)都可以全文搜索,应该怎么做?

要么想办法把“字”添加到词库,要么自己写程序做索引。
------解决方案--------------------
简单,建立两套索引,一套是分词之后的,一套是不分词的,这样速度快,查询时两个索引一起查,