當前位置:首頁 » 編程語言 » sql資料庫啟動全文檢索
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql資料庫啟動全文檢索

發布時間: 2022-05-11 10:06:30

㈠ 沒有為當前資料庫啟用全文檢索。請用 sp_fulltext_database 來為資料庫啟用全文檢索。

伺服器問題,全文檢索和sqlserver一樣是一個獨立的服務,需要開啟才能使用. 全文服務啟用後可以使用sp_fulltext_database存儲過程來配置資料庫的全文檢索欄位,以便全文檢索使用.

㈡ 對整個資料庫進行搜索的方法

一個完整的SQL SERVER資料庫全文索引的示例。
(以pubs資料庫為例) 首先,介紹利用系統存儲過程創建全文索引的具體步驟:
1) 啟動資料庫的全文處理功能 (sp_fulltext_database)
2) 建立全文目錄 (sp_fulltext_catalog)
3) 在全文目錄中注冊需要全文索引的表 (sp_fulltext_table)
4) 指出表中需要全文索引的列名 (sp_fulltext_column)
5) 為表創建全文索引 (sp_fulltext_table)
6) 填充全文目錄 (sp_fulltext_catalog)
---------********示例********-------------
以對pubs資料庫的title和notes列建立全文索引,之後使用索引查詢title列或notes列中包含有datebase 或computer字元串的圖書名稱:
在這之前,需要安裝Microsoft Search服務,啟動SQL server全文搜索服務 user pubs
--打開資料庫 go --檢查資料庫pubs是否支持全文索引,如果不支持 --則使用sp_fulltext_database 打開該功能
if(select databaseproperty('pubs','isfulltextenabled'))=0
execute sp_fulltext_database 'enable'
--建立全文目錄FT_PUBS execute sp_fulltext_catalog 'FT_pubs','create'
--為title表建立全文索引數據元 execute sp_fulltext_table 'title','create','FT_pubs','UPKCL_titleidind'
--設置全文索引列名 execute sp_fulltext_column 'title','title','add' execute sp_fulltext_column 'title','notes','add'
--建立全文索引 --activate,
是激活表的全文檢索能力,也就是在全文目錄中注冊該表 execute sp_fulltext_table 'title','activate'
--填充全文索引目錄 execute sp_fulltext_catalog 'FT_pubs','start_full' go
--檢查全文目錄填充情況
While fulltextcatalogproperty('FT_pubs','populateStatus') <> 0 begin
--如果全文目錄正處於填充狀態,則等待30秒後再檢測一次 waitfor delay '0:0:30' end
--全文目錄填充完成後,即可使用全文目錄檢索 select title form where CONTAINS(title,'database') or CONTAINS(title,'computer') or CONTAINS(notes,'database') or CONTAINS(notes,'database') '--------------
以下介紹一下全文操作類的系統存儲過程 過程名稱:sp_fulltext_service 執行許可權:serveradmin或系統管理員 作 用:
設置全文搜索屬性 過程名稱:sp_fulltext_catalog
執行許可權:db_owner及更高角色成員
作 用:創建和刪除一個全文目錄,啟動或停止一個全文目錄的索引操作 過程名稱:sp_fulltext_database 執行許可權:
db_owner角色成員 作 用:初始化全文索引或刪除資料庫中所有全文目錄 過程名稱:sp_fulltext_table 執行許可權:
db_ddladnmin或db_owner角色成員 作 用:將一個表標識為全文索引表或非全文索引表 過程名稱:sp_fulltext_column 執行許可權:
db_ddladnmin角色成員 作 用:指出一個全文索引表中的那些列假如或退出全文索引

㈢ 如何使用SQL Server中的全文索引

一、設置詞法分析器
Oracle實現全文檢索,其機制其實很簡單。即通過Oracle專利的詞法分析器(lexer),將文章中所有的表意單元(Oracle稱為term)找出來,記錄在一組以dr$開頭的表中,同時記下該term出現的位置、次數、hash值等信息。檢索時,Oracle從這組表中查找相應的term,並計算其出現頻率,根據某個演算法來計算每個文檔的得分(score),即所謂的『匹配率』。而lexer則是該機制的核心,它決定了全文檢索的效率。Oracle針對不同的語言提供了不同的lexer,而我們通常能用到其中的三個:
basic_lexer:針對英語。它能根據空格和標點來將英語單詞從句子中分離,還能自動將一些出現頻率過高已經失去檢索意義的單詞作為『垃圾』處理,如if , is等,具有較高的處理效率。但該lexer應用於漢語則有很多問題,由於它只認空格和標點,而漢語的一句話中通常不會有空格,因此,它會把整句話作為一個term,事實上失去檢索能力。以『中國人民站起來了』這句話為例,basic_lexer分析的結果只有一個term ,就是『中國人民站起來了』。此時若檢索『中國』,將檢索不到內容。
chinese_vgram_lexer:專門的漢語分析器,支持所有漢字字元集(SUTF8)。該分析器按字為單元來分析漢語句子。『中國人民站起來了』這句話,會被它分析成如下幾個term: 『中』,『中國』,『國人』,『人民』,『民站』,『站起』,起來』,『來了』,『了』。可以看出,這種分析方法,實現演算法很簡單,並且能實現『一網打盡』,但效率則是差強人意。
chinese_lexer:這是一個新的漢語分析器,只支持utf8字元集。上面已經看到,chinese vgram lexer這個分析器由於不認識常用的漢語詞彙,因此分析的單元非常機械,像上面的『民站』,『站起』在漢語中根本不會單獨出現,因此這種term是沒有意義的,反而影響效率。chinese_lexer的最大改進就是該分析器能認識大部分常用漢語詞彙,因此能更有效率地分析句子,像以上兩個愚蠢的單元將不會再出現,極大提高了效率。但是它只支持utf8,如果你的資料庫是zhs16gbk字元集,則只能使用笨笨的那個Chinese vgram lexer.
如果不做任何設置,Oracle預設使用basic_lexer這個分析器。要指定使用哪一個lexer,可以這樣操作:

BEGIN
ctx_ddl.create_preference ('my_lexer', 'chinese_vgram_lexer');
END;
/
其中my_lexer是分析器名。

二、建立全文索引
在建立intermedia索引時,指明所用的lexer:

CREATE INDEX myindex ON mytable(mycolumn) indextype is ctxsys.context parameters('lexer my_lexer');

※個人體會:全文索引建立後,用pl/sql developer工具view table,在index這一欄是看不到索引信息的。
而本人在刪除全文索引時遇到過一下報錯:
SQL> drop index searchkeytbl_key;
drop index searchkeytbl_key
ORA-29868: cannot issue DDL on a domain index marked as LOADING
解決方法:
ORA-29868: cannot issue DDL on a domain index marked as LOADING
說明:在創建索引的時候斷開、重啟等導致索引中斷沒有執行成功,之後再drop或者rebuild等操作的時候都會報此錯誤
解決:只能drop index ind_name force強行刪除,然後再重建

三、索引同步維護
用以下的兩個job來完成(該job要建在和表同一個用戶下) :
VARIABLE jobno number;
BEGIN
DBMS_JOB.SUBMIT(:jobno,'ctx_ddl.sync_index(''index_name'');',
SYSDATE, 'SYSDATE + (1/24/4)');
commit;
END; //同步

VARIABLE jobno number;
BEGIN
DBMS_JOB.SUBMIT(:jobno,'ctx_ddl.optimize_index(''myindex'',''FULL'');',
SYSDATE, 'SYSDATE + 1');
commit; //優化
建完後手動運行下:
exec dbms_job.run(jobno);
※個人體會:運行job可能會有問題,此時可以單獨運行索引,嘗試一下
exec ctx_ddl.sync_index('index_name');
如果單獨運行沒有問題,則檢查job是否寫錯或者當前操作的oracle資料庫用戶有無運行存儲過程的許可權
SQL> exec dbms_job.run(190);
begin dbms_job.run(190); end;
ORA-12011: execution of 1 jobs failed
ORA-06512: at "SYS.DBMS_IJOB", line 406
ORA-06512: at "SYS.DBMS_JOB", line 272
ORA-06512: at line 1
以上報錯就是用戶沒有運行任何存儲過程造成的,此時需要對用戶加上這個許可權:
SQL> grant execute any procere to oracle_username;
再看一下job的情況
select * from user_jobs;

㈣ 建立全文檢索的sql語句

前言:微軟的SQL Server資料庫是一個在中低端企業應用中佔有廣泛市場的關系型資料庫系統,它以簡單、方便、易用等特性深得眾多軟體開發人員和資料庫管理人員的鍾愛。但SQL Server 7.0以前的資料庫系統由於沒有全文檢索功能,致使無法提供像文本內容查找此類的服務,成為一個小小的遺憾。從SQL Server 7.0起,到如今的SQL Server 2000終於具備了全文檢索功能,使用戶可以高效地檢索存儲在資料庫char、varchar、text、ntext、nchar、nvarchar等數據類型列中的文本數據。
建立全文索引
在進行全文檢索之前,必須先建立和填充資料庫全文索引。為了支持全文索引操作,SQL Server 7.0新增了一些存儲過程和Transact-SQL語句。使用這些存儲過程創建全文索引的具體步驟如下(括弧內為調用的存儲過程名稱):
1. 啟動資料庫的全文處理功能(sp_fulltext_
database);;
2. 建立全文檢索目錄(sp_fulltext_catalog);
3.在全文檢索目錄中注冊需要全文索引的表(sp_fulltext_table);
4. 指出表中需要全文檢索的列名(sp_fulltext_
column);;
5. 為表創建全文索引(sp_fulltext_table);;
6. 填充全文檢索目錄(sp_fulltext_catalog)。
下面舉例說明如何創建全文索引,在本例中,對Test資料庫Book表中Title列和Notes列建立全文索引。
use test //打開資料庫
//打開全文索引支持,啟動SQL Server的全文搜索服務
execute sp_fulltext_database 『enable』
//建立全文檢索目錄ft_test
execute sp_fulltext_catalog 『ft_test』, 『create』
為Title列建立全文索引數據元,pk_title為Book表中由主鍵所建立的唯一索引,這個參數是必需的。
execute sp_fulltext_table 『book』,『create』, 『ft_test』,『pk_title』
//設置全文索引列名
execute sp_fulltext_column 『book』, 『title』, 『add』
execute sp_fulltext_column 『book』,『notes』, 『add』
//建立全文索引
execute sp_fulltext_table 『book』, 『activate』
//填充全文索引目錄
execute sp_fulltext_catalog 『ft_test』, 『start_full』
至此,全文索引建立完畢。
進行全文檢索
SQL Server 2000提供的全文檢索語句主要有CONTAINS和FREETEXT。CONTAINS語句的功能是在表的所有列或指定列中搜索:一個字或短語;一個字或短語的前綴;與一個字相近的另一個字;一個字的派生字;一個重復出現的字。
CONTAINS語句的語法格式為:
CONTAINS({column | *}), <contains_search_condition> )
其中,column是搜索列,使用「*」時說明對表中所有全文索引列進行搜索。Contains_search_
condition 說明CONTAINS語句的搜索內容,其語法格式為:
{||||}[{{AND|AND NOT|OR}}] [...n]
下面就simple_term和prefix_term參數做簡要說明:
simple_term是CONTAINS語句所搜索的單字或短語,當搜索的是一個短語時,必須使用雙引號作為定界符。其格式為:
{『word』|「 phrase」}
prefix_term說明CONTAINS語句所搜索的字或短語前綴,其格式為:
{「word*」 | 「phrase*」}
例如,下面語句檢索Book表的Title列和Notes列中包含「database」或「computer」字元串的圖書名稱及其注釋信息:
select title, notes
from book
where contains(tilte, 『database』) or contains(notes,『database』)
or contains(title,『computer』) or contains(notes,『computer』)
FREETEXT語句的功能是在一個表的所有列或指定列中搜索一個自由文本格式的字元串,並返回與該字元串匹配的數據行。所以,FREETEXT語句所執行的功能又稱做自由式全文查詢。
FREETEXT語句的語法格式為:FREETEXT({column | * },『freetext_string』)
其中,column是被搜索列,使用「*」時說明對表中的所有全文索引列進行搜索。Freetext_string參數指出所搜索的自由文本格式字元串。
例如,下面語句使用FREETEXT語句搜索Book表中包含「Successful Life」字元串的數據行:
select title, notes
from book
where freetext(*,『Successful Life』)

㈤ 如何在SQL中啟用全文檢索功能

默認情況下,所有用戶創建的資料庫都啟用了全文索引。另外,在為表創建全文索引並將列添加到索引之後,就會自動為單個表啟用全文索引。

㈥ 如何設置SQL Server資料庫全文索引服務

在Microsoft SQL Server 7.0 中提供了全文索引服務(Full-Text Search Service),在查詢性能上,對varchar,char,text類型的欄位的匹配查詢比用SQL語句使用Like操作符及匹配符的速度快10倍以上;在查詢匹配上,提供了模糊匹配的高級搜索性能並能夠返回查詢的命中率。 Full Text Search Service包含在SQL Server 7.0中,在SQL Server 7 Destop版中不起作用。安裝SQL Server時,無法預設安裝它,需要在Custom Installation 中選擇。 服務安裝完後在SQL Server EntERPrise Manager中的Support Services中顯示為Full-text Search,在控制面版中的服務中顯示為Microsoft Search.可以在SQL Server EnterPrise Manager中啟動這個服務,就可以在表中加入全文索引了。要注意:只有有唯一索引欄的表才能建立全文索引,並且全文索引建立好之後就不能改變表了,如要改變表就必須得取出索引,然後再裝入。
對表設置全文索引應用如下步驟:
1.選擇要建立全文索引的表,然後選擇: Full-Text Index Table ->Define Full-Text Indexing on a table
2.系統會啟動SQL Server Full-Text Index 向導。
3.選擇一個唯一索引。
4.選擇一個要建立索引的欄位。
5.選擇catalog。
6.選擇更新索引計劃(由於全文索引和普通索引表不同,不能自動更新,所以得加入一個計劃
)。
7.Finish。
8.選擇在資料庫Full-text catalogs中里的新建立的catalog,然後運行Start Population,Full Population 就可以了。

㈦ sql資料庫欄位怎麼加全文索引

對表設置全文索引應用如下步驟:
1.選擇要建立全文索引的表,然後選擇: Full-Text Index Table ->Define Full-Text Indexing on a table
2.系統會啟動SQL Server Full-Text Index 向導。
3.選擇一個唯一索引。
4.選擇一個要建立索引的欄位。
5.選擇catalog。
6.選擇更新索引計劃(由於全文索引和普通索引表不同,不能自動更新,所以得加入一個計劃
)。
7.Finish。
8.選擇在資料庫Full-text catalogs中里的新建立的catalog,然後運行Start Population,Full Population 就可以了。

㈧ sql中全文檢索的具體細節

全文索引和全文檢索是sql server 7.0的新增功能,它能夠對數據中的字元類型列(如varchar、text等類型列)進行索
引,並通過索引實現全文搜索查詢。sql server常規索引與全文檢索相比,二者的區別如下:

常規索引 全文索引
使用create index或約束定義創建 使用全文索引存儲過程創建和刪除
通過刪除或執行drop index語句刪除

當插入、修改或刪除數據時,sql server 只能通過任務調度或執行存儲過
能夠自動更新常規索引內容 程來填充全文索引

每個表可以建立多個常規索引 每個表只能有一個全文索引
索引不能分組 同一個資料庫中的多個全文索引可
以組織為一個全文目錄
常規索引存儲在資料庫文件中 全文索引存儲在文件系統中

為了支持全文索引操作,sql server 7.0新增了一些新存儲過程和transact-sql語句,使用這些存儲過程創建全文索引的
具本步驟為(括弧內為每步所調用的存儲過程名稱):

(1)啟動資料庫的全文處理功能(sp_fulltext_datebase);
(2)建立全文目錄(sp_fulltext_catalog);
(3)在全文目錄中注冊需要全文索引的表(sp_fulltext_table);
(4)指出表中需要全文檢索的列名(sp_fulltext_column)
(5)為表創建全文索引(sp_fulltext_table);
(6)填充全文索引(sp_fulltext_catalog)。

例:
use pubs
go
exec sp_fulltext_database 'enable'
--為titles表建立全文索引數據元,其中create為建立,activate為激活,deactivate為關閉表全文索引的激活狀態,使
它不再參加全文目錄填充,drop為刪除;create參數中,後面跟的是全文目錄名稱和索引列名。
--下面語句為pubs資料庫中的titles表創建全文索引數據元,存儲該數據元的全文目錄為FT_pubs,所使用的唯一索引為
UPKCL_titleidind(title表中為title_id列的PRIMARY KEY約束所建立的唯中索引)
sp_fulltext_table titles,'create','FT_pubs','upkcl_titledind'

--激活它
sp_fulltext_table titles,'activate'

--指定參加全文索引的列
sp_fulltext_column 'titles','title','add'
sp_fulltext_column 'titles','notes','add'

下面是一個完整的例子:
--在執行該腳本程序之前啟動sql server的全文搜索服務,即microsoft search服務
use pubs --打開資料庫
go
--檢查pubs是否支持全文索引,如果不支持全文索引,則使用sp_fulltext_datebase打開該功能
if (select databaseproperty ('pubs','IsFulltextEnables'))=0
execute sp_fulltext_database 'enable'
--建立全文目錄FT_pubs
execute sp_fulltext_catalog 'FT_pubs','create'
--為titles表建立全文索引數據元
execute sp_fulltext_table 'titles','FT_pubs','UPKCL_titleidind'
--設置全文索引列名
execute sp_fulltext_column 'titles','title','add'
execute sp_fulltext_column 'titles','notes','add'
--建立全文索引
execute sp_fulltext_table 'FT_pubs','activate'
--填充全文索引目錄
execute sp_fulltext_catalog 'FT_pubs','start_full'
GO
--檢查全文目錄填充情況
WHILE FulltextCatalogProperty("FT_pubs','PopulateStatus')<>0
BEGIN
--如果全文目錄正處於填充狀態,則等待30秒後再檢測一次
WAITFOR DELAY 『0:0:30』
END
--全文目錄填充完成後,使用全文目錄檢索

--查詢title列或notes列中包含有database或computer字元串的圖書名稱
SELECT title
FROM title
where CONTAINTS(title,'database')
or contains(notes,'database')
or contains(title,'computer')
or contains(notes,'computer')

㈨ 怎麼MySql添加全文索引

使用索引是資料庫性能優化的必備技能之一。在MySQL資料庫中,有四種索引:聚集索引(主鍵索引)、普通索引、唯一索引以及我們這里將要介紹的全文索引(FULLTEXT INDEX)。
全文索引(也稱全文檢索)是目前搜索引擎使用的一種關鍵技術。它能夠利用「分詞技術「等多種演算法智能分析出文本文字中關鍵字詞的頻率及重要性,然後按照一定的演算法規則智能地篩選出我們想要的搜索結果。在這里,我們就不追根究底其底層實現原理了,現在我們來看看在MySQL中如何創建並使用全文索引。
在MySQL中,創建全文索引相對比較簡單。例如,我們有一個文章表(article),其中有主鍵ID(id)、文章標題(title)、文章內容(content)三個欄位。現在我們希望能夠在title和content兩個列上創建全文索引,article表及全文索引的創建SQL語句如下:
--創建article表

CREATE TABLE article (

id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,

title VARCHAR(200),

content TEXT,

FULLTEXT (title, content) --在title和content列上創建全文索引

);
上面就是在創建表的同時建立全文索引的SQL示例。此外,如果我們想要給已經存在的表的指定欄位創建全文索引,同樣以article表為例,我們可以使用如下SQL語句進行創建:
--給現有的article表的title和content欄位創建全文索引

--索引名稱為fulltext_article

ALTER TABLE article

ADD FULLTEXT INDEX fulltext_article (title, content)
在MySQL中創建全文索引之後,現在就該了解如何使用了。眾所周知,在資料庫中進行模糊查詢是使用LIKE關鍵字進行查詢,例如:
SELECT * FROM article WHERE content LIKE '%查詢字元串%'

那麼,我們使用全文索引也是這樣用的嗎?當然不是,我們必須使用特有的語法才能使用全文索引進行查詢。例如,我們想要在article表的title和content列中全文檢索指定的查詢字元串,可以如下編寫SQL語句:
SELECT * FROM article WHERE MATCH(title, content) AGAINST('查詢字元串')

強烈注意:MySQL自帶的全文索引只能用於資料庫引擎為MyISAM的數據表,如果是其他數據引擎,則全文索引不會生效。此外,MySQL自帶的全文索引只能對英文進行全文檢索,目前無法對中文進行全文檢索。如果需要對包含中文在內的文本數據進行全文檢索,我們需要採用Sphinx(斯芬克斯)/Coreseek技術來處理中文。本站將會在後續文章中對Sphinx以及Coreseek進行介紹。
備注1:目前,使用MySQL自帶的全文索引時,如果查詢字元串的長度過短將無法得到期望的搜索結果。MySQL全文索引所能找到的詞的默認最小長度為4個字元。另外,如果查詢的字元串包含停止詞,那麼該停止詞將會被忽略。
備注2:如果可能,請盡量先創建表並插入所有數據後再創建全文索引,而不要在創建表時就直接創建全文索引,因為前者比後者的全文索引效率要高。

㈩ 如何使用mysql的全文索引搜索

你有沒有想過如何使用搜索功能在所有整站中實現!互聯網博客和網站,大多數都採用MySQL資料庫。MySQL提供了一個美妙的方式實施一個小的搜索引擎,在您的網站(全文檢索)。所有您需要做的是擁有的MySQL 4.x及以上。MySQL提供全文檢索功能,我們可以用它來 ??實現搜索功能。

首先,讓我們為我們的例子中設置一個示例表。我們將創建一個名為第一個表。

CREATE TABLE articles (
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
title VARCHAR(200),
body TEXT,
FULLTEXT (title,body)
);
在此表中還可以添加一些示例數據。執行後,插入查詢。

INSERT INTO articles (title,body) VALUES
('MySQL Tutorial','DBMS stands for DataBase ...'),
('How To Use MySQL Well','After you went through a ...'),
('Optimizing MySQL','In this tutorial we will show ...'),
('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
('MySQL vs. YourSQL','In the following database comparison ...'),
('MySQL Security','When configured properly, MySQL ...');
一旦樣本數據是准備好,我們可以開始我們的全文檢索功能。

自然語言全文搜索
嘗試我們的示例表上執行下面的SELECT查詢。

SELECT * FROM articles
WHERE MATCH (title,body) AGAINST ('database');
你就能看到結果如下:

在下面的資料庫比較5 MySQL與YourSQL的...
MySQL教程DBMS 1代表資料庫...
我們在上面的SQL查詢(標題,正文)反對(「資料庫」)的比賽,選擇所有的記錄,列標題和正文進行全文搜索。

您可以修改該查詢,並創建您自己的版本,以自己的資料庫中執行全文搜索。

布爾全文搜索
它可能發生,你要指定某些關鍵字在您的搜索條件。此外,您可能要忽略某些關鍵字。布爾全文搜索可以用來執行這些要求的全文檢索。

檢查下面的SELECT查詢。

SELECT * FROM articles WHERE MATCH (title,body)
AGAINST ('+MySQL -YourSQL' IN BOOLEAN MODE);
如果您發現上述選擇查詢,我們增加了布爾MODE反對()。這個查詢將獲取MySQL的關鍵字,但不YourSQL關鍵字的所有記錄。請注意+和-我們以前指定的關鍵字!

在執行此功能,MySQL使用什麼有時也被稱為布爾邏輯作為暗示,其中:+代表與-代表不是[無操作員]暗示或

以下是幾個例子布爾搜索條件。

「蘋果香蕉
查找行至少包含兩個詞之一。

「+蘋果+果汁」
尋找包含兩個單詞的行。

「+蘋果Macintosh
查找行包含「蘋果」,但排名的行,如果它們也包含「麥金塔」。

「+蘋果Macintosh的」
查找行包含「蘋果」這個詞,而不是「麥金塔」。

'+蘋果Macintosh的「
查找包含單詞「蘋果」的行,但如果該行也包含單詞「麥金塔」,速度比如果行不低。這是「軟」比「+蘋果Macintosh電腦」,為「麥金塔」的存在,導致該行不能在所有返回的搜索。

'+蘋果+(>營業額<餡餅)「
行包含「蘋果」和「營業額」,或「蘋果」和「餡餅」(任何順序)的話,但排名「蘋果的營業額」比「蘋果餡餅「。

限制
支持全文檢索的MyISAM表只。MySQL 4.1中,使用多個字元設置一個單一的表內的支持。然而,在一個FULLTEXT索引的所有列,必須使用相同的字元集和校對規則。MATCH()列列表必須匹配完全在一些列清單表的FULLTEXT索引定義,除非這場比賽()是在布爾模式。布爾模式搜索,可以做非索引列,雖然他們很可能是緩慢的。