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

mysql fulltext搜索_mysql 全文搜索的FULLTEXT相关推荐

  1. mysql fulltext搜索_mysql 全文搜索 FULLTEXT

    到 3.23.23 时,MySQL 开始支持全文索引和搜索.全文索引在 MySQL 中是一个 FULLTEXT 类型索引.FULLTEXT 索引用于 MyISAM 表,可以在 CREATE TABLE ...

  2. mysql match 中文_Mysql全文搜索match against的用法

    对于大的数据库,将数据装载到一个没有 FULLTEXT 索引的表中,然后再使用 ALTER TABLE   (或 CREATE INDEX) 创建索引,这将是非常快的.将数据装载到一个已经有 FULL ...

  3. mysql 全文 搜不出_mysql全文搜索失败

    小编典典 -- drop table testproduct; CREATE TABLE testproduct ( Id VARCHAR(16), prod_name TEXT, ProductId ...

  4. mysql 相关搜索_MySQL单词搜索相关度排名

    一个单词搜索的相关度排名,这个例子演示了一个单词搜索的相关度排名计算. mysql> CREATE TABLE articles ( -> id INT UNSIGNED AUTO_INC ...

  5. 数据库-Elasticsearch进阶学习笔记(分片、映射、分词器、即时搜索、全文搜索等)

    目录 基础概念 定义 特点 索引(Index) 分片(Shards) 副本(Replicas) 分配(Allocation) 映射(Mapping) 动态映射 显式映射 常见数据类型 文档(docum ...

  6. mysql用于检索的关键字_Mysql全文搜索match...against的用法

    全文检索在 MySQL 中就是一个 FULLTEXT 类型索引.FULLTEXT 索引用于   MyISAM 表,可以在 CREATE TABLE 时或之后使用 ALTER TABLE 或 CREAT ...

  7. mysql fulltext类型_mysql索引类型:FULLTEXT、NORMAL、SPATIAL、UNIQUE的详细介绍(转)

    Normal 普通索引 表示普通索引,大多数情况下都可以使用 Unique 唯一索引 表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为unique 约束唯一标识 ...

  8. mysql fulltext 排序_mysql索引类型:FULLTEXT、NORMAL、SPATIAL、UNIQUE的区别

    Normal 普通索引 > 表示普通索引,大多数情况下都可以使用 Unique 唯一索引 > 表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为uni ...

  9. Mysql搜寻姓_mysql – 用于搜索名称和姓氏的最有效的sql架构

    我正在我的网站上创建一个成员列表,我想让他们通过名字和姓氏或其中任何一个来寻找彼此.问题在于,用户可以拥有多个名称,例如姓名和昵称,也可以是一个人可以拥有多个姓氏,他们的婚前姓名以及结婚后的姓氏. 一 ...

最新文章

  1. 修改ecshop的100种技巧
  2. 愿...统一沟通...易行天下!
  3. linux qcom LCD framwork
  4. css学习_cs3s旋转的图片
  5. Nginx+Tomcat负载均衡、动静分离集群
  6. CAP理论与MongoDB一致性、可用性的一些思考
  7. android炫酷叼ui,XUI: 一个简洁而优雅的Android原生UI框架,解放你的双手!
  8. 用Keras搭建神经网络 简单模版(三)—— CNN 卷积神经网络(手写数字图片识别)...
  9. 机器学习基础-朴素贝叶斯分类
  10. lnmp mysql.sock_配置Mysql过程中的问题——mysql.sock(LNMP-3)
  11. 用 Tenorshare ReiBoot修复iPhone无法开机
  12. python 广义线性模型_SPSS广义线性模型:广义估计方程
  13. fastadmin列表中,时间显示,格式设置
  14. 数据中心的“风火水电”
  15. html多图轮播淡入淡出js,原生JS实现图片轮播与淡入效果的简单实例
  16. mysql怎么快速删除亿级数据_mysql数据库如何实现亿级数据快速清理
  17. 视觉3d中五折幕的震撼这就是沉浸式屏幕
  18. SQL Server 和 Oracle 以及 MySQL 的区别
  19. 当我们在谈SWIFT时,到底在谈什么?
  20. 二维码的20种商业应用模式

热门文章

  1. Java 位运算理解 Java中的位移运算整理 Java右移n位 Java左移n位
  2. C - Cocoa Coalition
  3. 按位实现的队列轮询算法
  4. JUNIT4 断言assertThat greaterThan
  5. 三本程序员能进大厂吗?网友:三本也是本科?
  6. Android面试题解(全)
  7. Ubuntu安装redis教程
  8. 【数据库数据恢复】Oracle数据库文件出现坏块报错的数据恢复案例
  9. AWS+OpenVINO|利用AWS SageMaker与英特尔®软硬件技术加快AI推理速度的步骤
  10. IPV6配置缺省路由与静态路由