mysql分词查询问题

客户输入 公号 能匹配出 公园壹号这个楼盘
客户输入 公园1号 也能匹配出 公园壹号这个楼盘
客户输入 公园一号 也能匹配出 公园壹号这个楼盘
请问怎么样才能做到这样的搜索,我用的是php+mysql搭建的网站,需要开启mysql全文搜索吗,但是看了下,全文搜索好像并不能完全解决我说的这个问题

哈士奇WWW
浏览 542回答 7
7回答

精慕HU

可以用elastic search实现,你这个需求mysql解决不了。如果数据库不大,可以把所有楼盘名字放到本地cache里,然后做index search。

小唯快跑啊

这个和mysql肯定已经没关系了需要你后端自己做手动转换,比如将前端传的1和一转换为壹再调用mysql

蝴蝶不菲

代码先转换一下搜索关键词再查询吧,数据库还没有这么智能。

隔江千里

后面两个,全文搜索+中文分词应该能搞定,第一个,估计只能自己建影射了

慕虎7371278

这个并不是mysql的的范畴了,而是你的业务逻辑要做的事情了,其实可以给楼盘表加个关键词列表的字段,比如“公园壹号”对应的搜索关键词列表“公号,公园1号,公园一号,公园壹号,公园”。。。。在搜索的时候,优先匹配关键词列表。

鸿蒙传说

这个并不是mysql的的范畴了
打开App,查看更多内容
随时随地看视频慕课网APP