关于搜索功能的疑问?如何通过中文首字母查询?

通常我们使用查询用 like 就行了

  1. 加入要加上拼音首字母查询要如何实现(“周杰伦”可以用‘zjl’查到)?
  2. 如何文章有关联十几个评论,通过评论也可以查到这个文章,这个要怎么实现?

当然了,1使用新建字段存储拼音首字母是种方法,2使用whereHas也可以实现,但是呢有没有更好的方法?

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 4
ShiKi

用 es ?

6个月前 评论
sanders

关系型数据库的解法一般是加字段。

但汉字向拼音转换的时候不可避免的会损失信息,如果是首字母损失会更严重。

6个月前 评论
EthanYep

中文首字母查询

  • 相当于用到了关联的关键词,可以考虑用 Elasticsearch
  • 1、收集用户搜索的中文关键词,进行 es 存储
  • 2、处理搜集的关键词,存储对应的首字母
  • 3、根据业务需要,当输入的是纯字母,走对应的逻辑去 es 检索数据
  • 4、当然不考虑性能的话,同理以上也可以用 mysql 去实现
6个月前 评论

es solr 这种

6个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!