有关mysql中文大数据模糊搜索
有关mysql中文大数据模糊搜索
网上查了好长时间的资料,找不到很好详细有关mysql中文大数据模糊搜索!
首页问一下大家
mysql中文模糊搜索用like也像不是很好,数据表名 "news"
字段如下
id  title concent
1  php高级应用程序
2  php应用技术假如当我搜索"php高级程序"而结果应当会出现id=1里的php高级应用程序结果,可以用like找不到结果,
有没有办法能做到类似百度那些搜索结果呢?
在网上找了一下sphinx
没有很详细的资料 

解决方案 »

  1.   

    正规的搜索引擎都具有关键字拆解功能,比如当用户输入"php高级程序"时,搜索引擎会优先查询 like '%php高级程序%' 的结果.然后把"php高级程序"拆解成"php","高级","程序"等子关键字,再分别加通配符在数据库中查询,最后把所有结果返回给用户.关键字拆解是通过收集用户搜索的习惯、关键字频率等信息或者根据自然语言的语法规则整理出来的。
    要想做的类似百度那样,必须要进行关键字拆解。PS:通过like只能查询到连续的结果,比如:%php高级程序%  只能查询到如“我想学PHP高级程序语言”、“什么是PHP高级程序语言”之类的结果,而不能查询到类似“PHP高级应用程序”的结果。要想通过“php高级程序”查询到“ php高级应用程序”,需要用  %php高级%程序%    来查询才行