zoukankan      html  css  js  c++  java
  • MySQL全文索引 Fulltext

    讨论地址:http://www.minioa.net/viewtopic.php?f=24&t=259
    搜索记录时,我们经常会用到like,然而这样的效率很低。
    后来有人推荐可以使用regexp,
    这里,我们要介绍的是Fulltext
    首先,要确保你的MySQL版本足够的新,比如我用的是MySQL5.5。
    系统变量ft_min_word_len默认是4,为了能够支持搜索汉字,所以,我们要设置成2。修改后重新启动MySQL。

    如果你遇到错误ERROR 1193 (HY000): Unknown system variable 'ft_min_word_len',说明你的MySQL版本可能太低了。建议升级,MySQL5.5下载地址:
    http://dev.mysql.com/get/Downloads/MySQLInstaller/mysql-installer-5.5.15.0.msi/from/http://ftp.jaist.ac.jp/pub/mysql/

    创建索引
    alter table articles add fulltext index(title,body);

    查看索引
    show index from articles;

    删除索引
    drop index title from articles;

    使用索引
    select title,match(title,body) against('中国' in boolean mode) from articles;

    非常遗憾的是,中文支持的不是很好,不能检索到所有的记录。例如检索中国,有的包含中国的记录能够显示,但是有的却不显示,如果修改记录,将中国前后两个字用空格隔开,就可以检索得到。此外,还可以设置成 against('*中国*' in boolean mode)
  • 相关阅读:
    JetBrains全家桶破解-Golang-Pycharm-IDEA等-不分平台
    k8s node update kernel
    k8s 图解
    k8s孤儿卷的问题
    k8s相关工作中常用命令
    AMQ死信引发宕机的问题
    StackStorm简介之actions
    DRF 使用入门
    python装饰器的简单实用
    type和object的关系
  • 原文地址:https://www.cnblogs.com/liuzhengdao/p/2194613.html
Copyright © 2011-2022 走看看