关于MySql模糊匹配的一点疑问,如何使用“广州市”匹配到数据库中的“广州”?

glartchen
  • 33

我遇到一个问题,我前台获取到一个字符串“广州”,可以用mysql的“like”匹配到数据库中的“广州市”,但是如果我前台获取到的是“广州市”,该怎么样匹配到数据库中保存的“广州”。

使用like很难做到,因为我只有一个关键词“广州市”,而我实现并不能确定数据中存储的是“广州”,抑或是“广州市天河区”这样是字符串。

而且REGEXP也不支持中文。

请高手解答一下。

回复
阅读 1.2k
1 个回答
✓ 已被采纳

几个思路供你参考:

  1. 把常见的区市县等等级单位去过虑掉再传组数据库进行查询, 如不管用户输入的是广州市还是广州,都按广州查询;
  2. 使用数据库的全文检索功能, 用分词工具进行分词后再查询, 如分成:广州市:广州广州市广州市等几种查询条件;
  3. 使用solr或elasticsearch这样专业的查询软件.
  4. 以上几个的组合.
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏