• mysql 全文搜索的FULLTEXT


    FULLTEXT索引

      创建FULLTEXT索引语法

         创建table的时候创建fullText索引      

    CREATE TABLE table_name(
     column1 data_type, 
            column2 data_type,
            column3 data_type,
     …
    PRIMARY_KEY(key_column),
    FULLTEXT key key_name (column1,column2,..)
    );
    

         在已存在的table上面创建fullText索引

    ALTER TABLE  table_name  
    ADD FULLTEXT(column_name1, column_name2,…)
    

         使用create index 语句创建fullText索引

    CREATE FULLTEXT INDEX index_name
    ON table_name(idx_column_name,...)
    

       删除全文搜索列

    alter table tablename drop index indexname;
    

     FULLText索引的使用

      注意事项

        1、mysql默认的全文检索的字符长度为4,使用:SHOW VARIABLES LIKE 'ft_min_word_len' ;可查看设置的检索长度。可修改mysql的my.ini 更改最小字符长度,如在my.ini添加配置项 ft_min_word_len=1

        2、MySQL规定全文搜索中被搜索的单词所在的行数大于等于被搜索的所有行数的一半时候,就将被搜索单词作为Common word,即不被显示。

      FULLTEXT使用语法 (此段链接http://www.lao8.org/article_1602/MATCH_AGAINST_mysql)

    -- 查找product_name,description均包含Lenovo的记录
    SELECT * FROM product WHERE MATCH(product_name,description) AGAINST('Lenovo')
    
    --  + 表示AND,即必须包含。- 表示NOT,即不包含。
    SELECT * FROM articles WHERE MATCH (title,body)     AGAINST ('+apple -banana' IN BOOLEAN MODE);   
    
    --  apple和banana之间是空格,空格表示OR,即至少包含apple、banana中的一个。
    SELECT * FROM articles WHERE MATCH (title,body)     AGAINST ('apple banana' IN BOOLEAN MODE);  
    
    --  必须包含apple,但是如果同时也包含banana则会获得更高的权重。
    SELECT * FROM articles WHERE MATCH (title,body)     AGAINST ('+apple banana' IN BOOLEAN MODE);  
    
    --   ~ 是我们熟悉的异或运算符。返回的记录必须包含apple,但是如果同时也包含banana会降低权重。但是它没有 +apple -banana 严格,因为后者如果包含banana压根就不返回。
    SELECT * FROM articles WHERE MATCH (title,body)     AGAINST ('+apple ~banana' IN BOOLEAN MODE); 
    
    --返回同时包含apple和banana或者同时包含apple和orange的记录。但是同时包含apple和banana的记录的权重高于同时包含apple和orange的记录。
    SELECT * FROM articles WHERE MATCH (title,body)     AGAINST ('+apple +(>banana <orange)' IN BOOLEAN MODE);   
    

        

  • 相关阅读:
    Volley学习(RequestQueue分析)
    Volley学习(Volly分析)
    AsyncTask学习
    如何排放表单标签介绍的位置?
    了解hr标签的各种浏览器兼容问题
    多屏移动端网站开发需要注意的十大技巧
    让吃货垂涎三尺的美食酷站!—— 每周酷站欣赏 #1
    12个响应式导航菜单jQuery插件,让您轻松应对响应式网站!
    网页设计师必看!27个响应式的简约风格网站
    网页设计师必看!12个漂亮颜色搭配的国外网站欣赏
  • 原文地址:https://www.cnblogs.com/loveyixiang/p/6021168.html
Copyright © 2020-2023  润新知