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

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

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

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

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 4
ShiKi

用 es ?

5个月前 评论
sanders

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

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

5个月前 评论
EthanYep

中文首字母查询

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

es solr 这种

5个月前 评论

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