mysql全文索引代替like查询

之前博客的题目数据一直使用z_blog的模糊匹配,一直使用like %tiile%,有时候直接导致服务器CPU100%,于是为了走上索引改为左匹配,like title %,虽然解决了搜索性能问题,但是没有like %title%效果好,很多人搜不到。于是改为全文索引。

ALTER TABLE think_course_question ADD FULLTEXT INDEX uni_question_name ( question_name ) WITH PARSER ngram;

添加全文索引并使用支持中文分词

mysql中配置分词数

ngram_token_size=2

mysql中配置最少搜索词数

ft_min_word_len=5

使用波尔模式,模仿like %title%

SELECT * FROM think_course_question WHERE MATCH ( question_name ) AGAINST ( '+职能型销售组织' IN BOOLEAN MODE) LIMIT 10

为什么不用自然语言的原因是因为大部分搜题的人都是复制一整段。

interface Animal {
    public void move();
}

class Cat implements Animal {
    public void move(){
        System.out.println("猫行走的方法...");
    }    
}

class Dog implements Animal {
    public void move(){
        System.out.println("狗行走的方法...");
    }    
}

mysql全文索引代替like查询

上一篇:如何打造一款极速数据湖分析引擎


下一篇:《数据结构与抽象:Java语言描述(原书第4版)》一JI1.1.2 泛型类