`

MySQL全文本搜索match、against

阅读更多
1. 全文本搜索

使用全文本搜索
SQL> select note_text from productnotes where match(note_text) against('rabbit');

使用like也可以实现
SQL> select note_text from productnotes where note_text like '%rabbit%';

全文本搜索扩展查询
没有扩展查询
SQL> select note_text from productnotes where match(note_text) against('anvils');
扩展查询
SQL> select note_text from productnotes where match(note_text) against('anvils' with query expansion);

布尔文本搜索
SQL> select note_text from productnotes where match(note_text) against('heavy' in boolean mode);
包含heavy但不包含任意以rope开始
SQL> select note_text from productnotes where match(note_text) against('heavy -rope*' in boolean mode);

1. 全文本搜索使用where match(xxx) against('yyy');
   全文本搜索支持在create table时的fulltext()字段
2. 搜索不区分大些写,或者使用binary区分大小写
3. 使用match against有排序(具有较高等级的行优先)
   使用like没有排序
4. 全文本搜索扩展查询使用where match(xxx) against('yyy' with query expansion);
    查询文本yyy内容,同时查询包含yyy文本的其他内容的关联文本
5. 布尔文本搜索使用where match(xxx) against('yyy' in boolean mode);
    支持在create table时不是的fulltext()字段
6. 全文本布尔操作符
    +    包含,词必须存在
    -    排除,词必须不出现
    >    包含,而且增加等级值
    <    包含,而且减少等级值
    ()   把词组成子表达式(允许这些子表达式作为一个组被包含、排除、排列等)
    ~    取消一个值的排序值
    *    词尾的通配符
    ""   定义一个短语(与单个词的列表不一样,它匹配整个短语以便包含或排除这个短语)
分享到:
评论

相关推荐

    mysql全文模糊搜索MATCH AGAINST方法示例

    MySQL全文模糊搜索是一种高效的方法,用于在大量文本数据中寻找匹配特定关键词的记录。自MySQL 4.x版本开始,数据库系统引入了`MATCH ... AGAINST`语法,这为用户提供了一种方便的方式来执行全文检索,尤其是在...

    Mysql全文搜索match against的用法

    MySQL全文搜索功能主要依赖于`MATCH()`和`AGAINST()`两个函数,用于在MyISAM表类型的字段上执行高效的文本搜索。以下是对标题和描述中所述知识点的详细说明: 1. **全文搜索的前提条件** - 表的存储引擎必须是...

    Laravel开发-laravel-match-against

    在Laravel框架中,`laravel-match-against`通常指的是使用MySQL的`MATCH AGAINST`功能来实现全文搜索。在大型应用中,高效且精准的全文检索是必不可少的,而MySQL的全文索引和`MATCH AGAINST`语句提供了一种有效的...

    如何在MySQL中提高全文搜索效率

    执行全文搜索可以使用`MATCH`和`AGAINST`关键字。以下是一个示例查询,它会在`data`字段中搜索包含“new band”的评论: ```sql SELECT * FROM reviews WHERE MATCH(data) AGAINST('new band'); ``` MySQL全文搜索...

    mysql 全文模糊查找 便捷解决方案

    在MySQL中,全文索引主要通过`MATCH AGAINST`语句实现,可以配合`FULLTEXT`关键字在表的指定列上创建。例如: ```sql CREATE FULLTEXT INDEX idx_title ON articles(title); ``` 这样就在`articles`表的`title`列上...

    MYSQL高性能全文检索介绍-E文版

    本篇文章将深入探讨MySQL的全文检索机制,以期帮助你构建高效的全文搜索引擎。 全文检索在信息检索领域扮演着关键角色,特别是在海量数据中查找相关信息时。MySQL的全文索引和搜索功能,始于版本5.6,进一步完善于...

    MySQL全文搜索[文].pdf

    全文搜索的核心是MATCH()函数和AGAINST()表达式。MATCH()函数用于指定要搜索的列,可以是一个或多个包含在全文索引中的列。在上面的示例中,`MATCH (title, body)`表示对文章的标题和正文进行全文搜索。AGAINST()则...

    mysql实现全文检索

    使用`MATCH() AGAINST()`语句进行全文搜索,这比使用`LIKE`关键字进行模糊匹配的速度快得多。例如: ```sql SELECT * FROM 表名 WHERE MATCH(sTitle, sContent) AGAINST('*要查的内容*' IN BOOLEAN MODE); ``` ...

    MySQL全文索引应用简明教程.pdf

    全文索引的搜索语法采用`MATCH...AGAINST`结构,如: ```sql MATCH (列名1, 列名2) AGAINST (搜索字符串 [搜索修饰符]) ``` 搜索修饰符可以是以下几种模式: 1. **IN NATURAL LANGUAGE MODE**:默认模式,对搜索字符...

    mysql 全文搜索 技巧

    全文搜索主要通过`MATCH()`函数配合`AGAINST()`函数来实现。 ##### 基本语法 ```sql SELECT * FROM table_name WHERE MATCH(column_list) AGAINST(search_string); ``` 例如,要从`articles`表中搜索包含...

    基于MySQL的中文全文搜索研究.pdf

    【MySQL的中文全文搜索研究】 随着信息技术的飞速发展,MySQL作为一款广泛应用的关系型数据库,其在处理数据查询上的需求日益增长。特别是在处理中文数据时,用户期望能快速准确地从海量信息中检索到所需内容。...

    mysql 全文索引

    在执行全文搜索时,可以使用`MATCH()`和`AGAINST()`函数,如下所示: ```sql SELECT * FROM table_name WHERE MATCH(column_name) AGAINST('搜索关键词'); ``` MySQL全文索引支持几种搜索模式,包括标准模式、简单...

    MySQL全文索引应用简明教程[参考].pdf

    全文索引在MySQL中主要用于提升对长文本字段的搜索性能,它能够理解查询字符串中的语义,找出与之最相关的记录。在MySQL 5.6之前,全文索引仅支持MyISAM表引擎,但之后的版本也开始支持InnoDB。 全文索引的应用需要...

    mysql 中文 模糊搜索 不精确 解决办法

    接着,可以使用`MATCH AGAINST`语法来进行全文搜索: ```sql SELECT * FROM table WHERE MATCH(biaoti) AGAINST('关键词'); ``` #### 2. 引入第三方分词工具 MySQL本身并不具备强大的中文分词能力,因此可以考虑...

    mysql 5.6 新特性

    AGAINST`查询,提供了新的搜索符号和配置选项。 - **在线DDL**:某些`ALTER TABLE`操作不再需要复制表,支持在线DDL,减少了对写入操作的影响。 - **独立表空间**:`file-per-table`模式允许将表空间放置在MySQL...

    mysql-5.5.28-winx64

    3. **Full-text Search增强**:5.5版增加了对全文本搜索的支持,如使用IN BOOLEAN MODE和MATCH AGAINST函数,使得在文本数据中进行搜索更为精确和灵活。 4. **分区功能扩展**:MySQL 5.5支持更多的分区类型,如线性...

    MySQL结巴中文分词插件SqlJieba.zip

    MySQL 结巴中文分词插件 SqlJieba 『关键词』MySQL, 插件(Plugin), 中文分词, 结巴分词(Jieba), 全文检索(Full-Text), SqlJieba 使用方法:mysql&gt; create database sqljieba; Query OK, 1 row affected ...

    MySQL全文索引应用简明教程

    全文索引的搜索语法是`MATCH (列名1, 列名2, …) AGAINST (搜索字符串 [搜索修饰符])`。`MATCH`后的列名需要与`FULLTEXT`索引中的列名一致,`AGAINST`后面的搜索字符串可以带有搜索修饰符,如`IN NATURAL LANGUAGE ...

Global site tag (gtag.js) - Google Analytics