zoukankan      html  css  js  c++  java
  • MySql全文检索使用详解

    实际项目中经常会有一个字段存储多个值用逗号分隔的场景,当分开查询的时候,使用模糊查询会非常影响效率。mysql提供了全文检索函数可以有效解决这一问题:

    1.数据结构

    IDCODEMSG
    1 1111111,2222222,3333333 数据一
    2 4444444,5555555 数据二

    2.创建Full Text类型索引

    当我们要以CODE为条件使用全文检索查询的时候,首先要给CODE字段创建Full Text类型索引:

    create fulltext index index_CODE on table(CODE)

    3.查询语句

    比如我们要查询CODE中包含2222222的数据

    SELECT * FROM table WHERE MATCH (CODE) AGAINST ('2222222')

    4.特殊情况说明

    全文检索函数识别分隔符不仅有“,”还有“-”,实际项目中经常会用到一串编码来标识一条数据(比如商城的订单号),编码中就经常出现“-”,这种情况全文检索也会识别成分隔符,比如:

    IDCODEMSG
    1 111-1111,222-2222,333-3333 数据一
    2 444-4444,555-5555 数据二

    解决方案:第一步和第二步不变,查询语句修改为:

    SELECT * FROM table WHERE MATCH (CODE) AGAINST ('"222-2222"')
  • 相关阅读:
    20189207《网络攻防实践》第一周作业
    事件冒泡
    链接分类
    JS:offsetWidth\offsetleft
    JS alert()、confirm()、prompt()的区别
    this用法
    事件绑定
    clippath
    浅谈正则
    C++大师Lippman:我对中国程序员的忠告(转载)
  • 原文地址:https://www.cnblogs.com/superSubfn/p/12020561.html
Copyright © 2011-2022 走看看