搜索“茶馆”

搜索“茶”

搜索“馆”

这是为什么呢🤔

    简单查了一下

    茶馆使用的是 MySQL 的全文检索,在 MySQL 5.7 之前只支持英文,而英文的全文检索使用空格作为分词的分隔符。5.7 之后支持多语种,对于中文而言,则需要针对中文语义来分词。

    茶馆设置的分词大小为2。对于双字,比如“茶馆”,搜索效果很好,但是对于单字“茶”或“馆”就会出现问题(我猜测是一些语句中“茶馆”仅被双字,所以在检索单字的时候不会检索到,但在另一些语句中“茶馆”即被双字分词,也被单字分词)

    如果设置的分词大小为1,此时搜索单字当然会全部显示,但是搜索双字,比如“茶馆”时,语句中包括“饮”,“下子”都会被检索到。这样的搜索效果就会差很多。

    说点什么吧...