欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql5.7.25使用全文檢索功能的實(shí)例教程

 更新時(shí)間:2022年02月07日 11:53:15   作者:程序猿(攻城獅)  
其實(shí)全文檢索在MySQL里面很早就支持了,下面這篇文章主要給大家介紹了關(guān)于mysql5.7.25使用全文檢索功能的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

有時(shí)項(xiàng)目中需要用到全文檢索功能,如果全文檢索數(shù)量相對(duì)較小,并且不希望單獨(dú)搭建elasticsearch這樣的專用索引工具,就可以考慮使用mysql自帶的全文檢索功能。

mysql 5.7.25自帶的全文檢索功能,有一定的方便性。

在MySQL 5.7.6之前,全文索引只支持英文全文索引,不支持中文全文索引,需要利用分詞器把中文段落預(yù)處理拆分成單詞,然后存入數(shù)據(jù)庫(kù)。

從MySQL 5.7.6開始,MySQL內(nèi)置了ngram全文解析器,用來支持中文、日文、韓文分詞。

本文使用的MySQL 版本是5.7.25,InnoDB數(shù)據(jù)庫(kù)引擎。

1. 創(chuàng)建帶有全文索引的表

CREATE TABLE `tbl_article_content` (
  `id` bigint(40) NOT NULL AUTO_INCREMENT,
  `article_title` varchar(60) COMMENT '標(biāo)題',
  `article_summary` varchar(120) COMMENT '摘要',
  `article_content` text NOT NULL COMMENT '內(nèi)容',
  `article_id` bigint(40) NOT NULL COMMENT '對(duì)應(yīng)文章ID',
  `create_date` datetime NOT NULL COMMENT '創(chuàng)建時(shí)間',
  `modified_date` datetime NOT NULL COMMENT '更新時(shí)間',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `artid` (`article_id`) USING BTREE,
  FULLTEXT KEY `article_content` (`article_content`) /*!50100 WITH PARSER `ngram` */ 
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

/*!50100   */ 它表示5.01.00 版本或者更高的版本,才執(zhí)行.

 WITH PARSER `ngram`是指定分詞引擎。

2. 添加全文索引

如果在創(chuàng)建表的時(shí)候未添加全文索引,可以在建表之后進(jìn)行添加。

create fulltext index article_content on tbl_article_content(article_content) WITH PARSER ngram;

3. 添加測(cè)試數(shù)據(jù)

INSERT INTO `tbl_article_content` VALUES ('2', '文章標(biāo)題', '文章摘要', '文章內(nèi)容', '2', '2022-02-05 13:47:55', '2022-02-05 13:47:59');

4. 執(zhí)行查詢

mysql> select * FROM tbl_article_content222 WHERE MATCH(article_content) AGAINST('內(nèi)容');
+----+---------------+-----------------+-----------------+------------+---------------------+---------------------+
| id | article_title | article_summary | article_content | article_id | create_date         | modified_date       |
+----+---------------+-----------------+-----------------+------------+---------------------+---------------------+
|  2 | 文章標(biāo)題      | 文章摘要        | 文章內(nèi)容        |          2 | 2022-02-05 13:47:55 | 2022-02-05 13:47:59 |
+----+---------------+-----------------+-----------------+------------+---------------------+---------------------+
1 row in set

全文查詢的關(guān)鍵字為MATCH和AGAINST。

5. 語(yǔ)法

MATCH (col1,col2,...) AGAINST (expr [search_modifier])
search_modifier: { IN BOOLEAN MODE | WITH QUERY EXPANSION }

 例如:SELECT * FROM tab_name WHERE MATCH ('列名1,列名2...列名n') AGAINST('詞1 詞2 詞3 ... 詞m');

 即:MATCH 相當(dāng)于要匹配的列,而 AGAINST 就是要找的內(nèi)容。

總結(jié)

到此這篇關(guān)于mysql5.7.25使用全文檢索功能的文章就介紹到這了,更多相關(guān)mysql5.7.25使用全文檢索內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一文帶你學(xué)透SQL語(yǔ)言的核心之DML操作

    一文帶你學(xué)透SQL語(yǔ)言的核心之DML操作

    DML(Data?Manipulation?Language)是SQL語(yǔ)言的核心部分,其主要用于對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行增刪改查,在學(xué)習(xí)數(shù)據(jù)時(shí),學(xué)習(xí)DML操作是必不可少的一部分,本文就帶大家詳細(xì)了解SQL語(yǔ)言的核心DML操作,需要的朋友可以參考下
    2023-06-06
  • linux下mysql亂碼問題的解決方案

    linux下mysql亂碼問題的解決方案

    今天小編就為大家分享一篇關(guān)于linux下mysql亂碼問題的解決方案,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • 關(guān)于SQL嵌套的誤解分析

    關(guān)于SQL嵌套的誤解分析

    之前我曾一直以為:就是在sql語(yǔ)句嵌套時(shí),嵌套查詢的約束和外層的約束是沒有關(guān)系的。
    2010-12-12
  • MyEclipse通過JDBC連接MySQL數(shù)據(jù)庫(kù)基本介紹

    MyEclipse通過JDBC連接MySQL數(shù)據(jù)庫(kù)基本介紹

    MyEclipse使用Java 通過JDBC連接MySQL數(shù)據(jù)庫(kù)的基本測(cè)試前提是MyEclipse已經(jīng)能正常開發(fā)Java工程
    2012-11-11
  • MySQL查詢重復(fù)數(shù)據(jù)(刪除重復(fù)數(shù)據(jù)保留id最小的一條為唯一數(shù)據(jù))

    MySQL查詢重復(fù)數(shù)據(jù)(刪除重復(fù)數(shù)據(jù)保留id最小的一條為唯一數(shù)據(jù))

    查重是我們?cè)诠ぷ髦薪?jīng)常會(huì)遇到的一個(gè)需求,下面這篇文章主要給大家介紹了關(guān)于MySQL查詢重復(fù)數(shù)據(jù)(刪除重復(fù)數(shù)據(jù)保留id最小的一條為唯一數(shù)據(jù))的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • mysql數(shù)據(jù)庫(kù)備份及恢復(fù)命令 mysqldump,source的用法

    mysql數(shù)據(jù)庫(kù)備份及恢復(fù)命令 mysqldump,source的用法

    mysql數(shù)據(jù)庫(kù)備份及恢復(fù)命令 mysqldump,source的用法,需要的朋友可以參考下。
    2011-02-02
  • Mysql通過ibd文件恢復(fù)數(shù)據(jù)的詳細(xì)步驟

    Mysql通過ibd文件恢復(fù)數(shù)據(jù)的詳細(xì)步驟

    mysql在使用的過程中,難免遇到數(shù)據(jù)庫(kù)表誤操作,下面這篇文章主要給大家介紹了關(guān)于Mysql通過ibd文件恢復(fù)數(shù)據(jù)的詳細(xì)步驟,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • Mysql中分布式鎖的具體實(shí)現(xiàn)

    Mysql中分布式鎖的具體實(shí)現(xiàn)

    分布式鎖開發(fā)中經(jīng)常使用,本文主要介紹了Mysql中分布式鎖的具體實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-01-01
  • MySQL分區(qū)表的局限和限制詳解

    MySQL分區(qū)表的局限和限制詳解

    本文對(duì)Mysql分區(qū)表的局限性做了一些總結(jié),因?yàn)閭€(gè)人能力以及測(cè)試環(huán)境的 原因,有可能有錯(cuò)誤的地方,還請(qǐng)大家看到能及時(shí)指出,當(dāng)然有興趣的朋友可以去官方網(wǎng)站查閱。
    2017-03-03
  • MySQL replace into 語(yǔ)句淺析(一)

    MySQL replace into 語(yǔ)句淺析(一)

    這篇文章主要介紹了MySQL replace into 語(yǔ)句淺析(一),本文講解了replace into的原理、使用方法及使用的場(chǎng)景和使用示例,需要的朋友可以參考下
    2015-05-05

最新評(píng)論