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

        之前曾经发表了一篇关于SQL Server全文索引的文章。现在将MySQL全文索引的配置过程记录一下。

    Step1:创建Student

       CREATE TABLE `student` (

      `id` INT(11) NOT NULL AUTO_INCREMENT,

      `studentname` VARCHAR(16) NOT NULL,

      `address` VARCHAR(256) DEFAULT '北京',

      `gender` TINYINT(4) NOT NULL,

      `mymoney` DECIMAL(18,2) DEFAULT NULL,

      PRIMARY KEY (`id`),

      FULLTEXT KEY `studentname` (`studentname`)

    ) ENGINE=MYISAM  CHARSET=utf8

    Step2:插入测试数据

    INSERT INTO `xsh`.`student`

                (

                 `studentname`,

                 `address`,

                 `gender`,

                 `mymoney`)

    VALUES (

            'happy love happy',

            '北京',

            1,

            1);

    Step3:修改my.ini文件,重启服务

     my.ini Linux 下是 my.cnf ) ,在 [mysqld] 后面加入一行“ft_min_word_len=1”,然后重启Mysql

    可以通过SHOW  VARIABLES LIKE 'ft_min_word_len'查看结果

    Step4:忽略权重查询(表中只有一条数据)

    mysql默认的阀值是50%,上面‘you’在每个文档都出现,因此是100%,只有低于50%的才会出现在结果集中。  但是如果不考虑权重,那么该怎么办呢?MySQL提供了布尔全文检索(BOOLEAN FULLTEXT SEARCH)

    SELECT * FROM student

    WHERE MATCH(studentname) AGAINST('love'  IN BOOLEAN MODE)

    这里只做一个简单记录,因为全文索引的基础是分词,但是MySQL不支持中文。需要通过插件或者其他手段实现@

  • 相关阅读:
    php原生代码实现explode函数功能
    PHP的命名空间
    高性能索引策略二
    .Net Core缓存组件(Redis)源码解析
    .Net Core缓存组件(MemoryCache)源码解析
    Docker系列之Docker容器(读书笔记)
    Docker系列之Docker镜像(读书笔记)
    .Net Core中的日志组件(Logging)
    .Net Core Cors中间件解析
    .Net Core项目添加日志功能
  • 原文地址:https://www.cnblogs.com/weilengdeyu/p/4868931.html
Copyright © 2011-2022 走看看