全文索索 - PHP 站内搜索,mysql 是否该加 FULLTEXT ,效率与LIKE相比如何
迷茫
迷茫 2017-04-10 15:47:40
[PHP讨论组]

以往制作PHP 站内搜索都是使用的 where title like '%$kw%' OR content like '%$kw%' 这样模式,一直没用FULLTEXT,数据表是MYISAM的。
1)是否有必要使用 FULLTEXT,效率相比是否会提高? where match(title,content) against ('$kw')
2)对于数据表会有什么影响?增加存储空间?拖慢查询?


info 表会有 20万数据

title varchar(60) NOT NULL
content text NOT NULL

问题

刚刚发现Yii2 貌似不支持 fulltext? yii2 内建db 默认 使用PDO ,PDO支持fulltext 吗

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(4)
阿神

中文分词比英文复杂的多,
mysql 的FULLTEXT 貌似是不支持中文分词的,所以,你还是用sphinx,solr等引擎吧。

PHPz

赞同楼上讲的,mysql就不适合干这种事。

sphinx、solr、lucene、elasticsearch 等

迷茫

表加上全文索引后存储空间肯定是要增加的,而且也会影响插入速度,全文搜索还是不要用MYSQL了,加了fulltext后查询也不会很快。PHP可以考虑用solr吧,PHP有对应的扩展。

PHP中文网

xunsearch吧。如果你觉得segment本身的搜索不错的话。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号