mysql擴充套件使用 使用MySQL查詢擴充套件

2021-10-18 03:06:18 字數 1463 閱讀 1368

在本教程中,將學習了解mysql查詢擴充套件,根據自動相關性的反饋擴大搜尋結果。

mysql查詢擴充套件簡介

在某些情況下,使用者希望基於他們知道的資訊來搜尋資訊。有時使用他們自己的知識來定義關鍵字來搜尋資訊,但是通常這些關鍵字又太短。

為了幫助使用者使用這些短的關鍵字找到他們想要的東西,mysql全文搜尋引擎引入了乙個稱為查詢擴充套件的概念。

首先,mysql全文搜尋引擎查詢與搜尋詞匹配的所有行。

第二步,檢查搜尋結果中的所有行並找到相關單詞。

要使用查詢擴充套件,請在against()函式中使用with query expansion搜尋修飾符。 下面說明with query expansion搜尋修飾符的查詢語法。

select column1, column2

from table1

where match(column1,column2)

against('keyword',with query expansion);

mysql查詢擴充套件示例

讓我們來看乙個查詢擴充套件的例子,看看它是如何工作的。

我們將使用product表的產品名稱(product_name)列來演示查詢擴充套件功能。 首先,在product_name列上啟用全文搜尋索引。

alter table studymysql.product

add fulltext(product_name);

第二步,搜尋名稱包含huawei字元項便不使用查詢擴充套件的產品。

mysql> select product_name

from studymysql.product

where match(product_name) against('huawei');

| product_name |

| huawei/華為 攬閱m2 10.0 wifi 16gb 10英吋八核平板電腦 |

| huawei/華為 ple-703l 4g 16gb m2青春版平板電腦手機 |

| huawei/華為 ple-703l 4g 32gb青春版雙卡雙待全網通手機平板電腦 |

| huawei/華為 m2 10.0 wifi 64gb平板電腦英吋高畫質八核m2-a01w |

4 rows in set

如上面的結果中,搜尋結果中其名稱包含術語huawei有4個產品。

第三步,使用查詢擴充套件來擴大搜尋結果,如以下的語句:

select product_name

from studymysql.product

where match(product_name)

against('win10' with query expansion);

執行上面的查詢語句,結果如下所示 -

注意,盲查詢擴充套件往往通過返回不相關的結果,明顯會增加雜訊。強烈建議僅在搜尋的關鍵字較短時使用查詢擴充套件。

在本教程中,我們已經介紹了mysql查詢擴充套件,以便在使用者提供的關鍵字較短時擴大搜尋結果。

相關教程

php中mysql的使用 PHP中MySQL的使用

連線到mysql mysql connect dbc mysql connect host,user,password 選擇當前資料庫 mysql select db database name mysql select db database name conn eg mysql select d...

python使用peewee實現mysql資料操作

peewee可用class來建立表,增刪改查,應該是相對餘單錶 本人幾乎沒用過,自以為如此 想實現sql查詢,得到list,比如這樣的結果 但是查詢結果是全是資料 元組 且找不到列名,後dir後逐個嘗試發現列名可以使用result.description j 0 獲取 元組使用起來不方便,現實現將資...

Zeppelin使用JDBC連線MySQL

在interpreter列表頁create new interpreter。輸入名稱 mysql interpreter group 選擇jdbc properties 修改 name value default.driver com.mysql.jdbc.driver default.url jd...