mysql 关键词 模糊查询 若干问题,求有经验的帮忙解答
前言:由于初学没有相关方面的经验,在做项目的时候碰到了一些问题一直没找到解决办法,希望各位不吝赐教,感谢!
现有php+mysql外贸项目,数据量大概在20-30万。
其中A表,有3个字段-----B表,有1个字段需要查询。
现在需要前端在搜索关键词方面查询俩表总共4个字段。
条件:这4个字段属于字符串字段,中英文和数字都有。
疑问:
1:这个数据量mysql本身就能顶住还是需要用到<span class="colour" style="color:rgb(51, 51, 51)">Elasticsearch之类的搜索框架?</span>
<span class="colour" style="color:rgb(51, 51, 51)">2:如果用到搜索框架,因为4个字段属于字符串字段,又是专业性比较强的多语言文字,分词会不会出现不精确的情况?</span>
<span class="colour" style="color:rgb(51, 51, 51)">3:如果不用分词,改用模糊搜索,是用mysql还是搜索框架?</span>
<span class="colour" style="color:rgb(51, 51, 51)">4:如果用mysql是多表多字段联合查询?还是单独建立个表来集合这四个字段的数据再来搜索?</span>
我不是伸手党,请大家给个思路或者建议供我研究,毕竟没有经验谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
1、二三十万的话,MySQL 还是可以顶住的,MySQL 也支持分词,当然,如果使用 es 更佳了。
2、使用 es 你可以自己创建分词器,不一定使用现有的中文分词。
3、都可以,但是 MySQL 会慢
4、均可,差别不是很大,不过你可以创建一个视图来集合这4个字段,不用单独创建表
推荐使用 es
几十万数据mysql还是可以的,只要你的sql不是一层层的嵌套就可以~
但是如果有时间研究的话,我还是建议你用es,因为es是真的很快,而且es对后期的扩展(日志等等)支持的都非常的好
用不用es取决两个方面,一个是业务的数据增长速度,一个是TPS的需求。如果都不高,这个情况最快的方式就是mysql的like查询。