『』 『』 中的內容視作乙個短語(整體)
3.查詢
已經存在表
against
select
*from articles
where
match
(title,body)
against (
'文言文'
innatural
language
mode);
// 不指定模式,預設使用自然語言模式
select
*from articles
where
match
(title,body)
against (
'文言文'
);
當使用ngram分詞解析器時,innodb_ft_min_token_size和innodb_ft_max_token_size 無效
如何設定
第二種這三個引數均不可動態修改,修改了這些引數,需重啟mysql服務,並重新建立全文索引!!
查詢資料不完整?如資料中明明存在解決方案文言文
, 但是查詢文言
的時候查詢不到
在boolean mode檢索模式下,查詢關鍵字表示式被轉換為乙個ngram短語檢索
ngram parser wildcard search
如果查詢的萬用字元長度大於ngram token size
ngram parser phrase search
2.執行 optimize table articles
rebuilding myisam full-text indexes
操作
create
table articles (
id int
unsigned
auto_increment
notnull
primary
key,
title varchar
(200),
body text
, fulltext key
`idx_ft_tb`
(title,body)
)engine
=innodb
character
set utf8mb4;
set names utf8mb4;
insert
into articles (title,body)
values
('calculate'
,'incomplete quere');
## 當修改了ngram_token_szie等引數的時候,需要重新建立索引
drop
index idx_ft_tb on test.articles ;
alter
table articles add fulltext index idx_ft_tb (title,body)
with parser ngram;
# 生成索引
setglobal innodb_ft_aux_table=
"test/articles"
;optimize
table articles;
# 這個命令適合myisam儲存引擎
repair table articles quick
;show variables like
'%token%'
mysql>
show variables like
'%token%';+
--------------------------+-------+
| variable_name |
value|+
--------------------------+-------+
| innodb_ft_max_token_size |84|
| innodb_ft_min_token_size |3|
| ngram_token_size |1|
+--------------------------+-------+
3rows
inset
檢視資料分詞結果
select
*from information_schema.innodb_ft_index_cache order
by doc_id, position;
select
*from articles where
match
(title,body) against(
'文言文*'
inboolean
mode);
select
*from articles where
match
(title,body) against(
'文言文'
);
全文檢索引擎 Sphinx
sphinx是乙個基於sql的全文檢索引擎,可以結合mysql,postgresql做全文搜尋,它可以提供比資料庫本身更專業的搜尋功能,使得應用程式更容易實現專業化的全文檢索。sphinx特別為一些指令碼語言設計搜尋api介面,如php,python,perl,ruby等,同時為mysql也設計了乙...
全文檢索引擎 Sphinx
sphinx是乙個基於sql的全文檢索引擎,可以結合mysql,postgresql做全文搜尋,它可以提供比資料庫本身更專業的搜尋功能,使得應用程式更容易實現專業化的全文檢索。sphinx特別為一些指令碼語言設計搜尋api介面,如php,python,perl,ruby等,同時為mysql也設計了乙...
倒排索引與全文檢索
乙個未經處理的資料庫中,一般是以文件id作為索引,文件內容作為記錄 而倒排索引指的是,將單詞或記錄作為索引,將文件id作為記錄,這樣便可以方便地通過索引來查詢到其所在的文件 例如 流程 將資料庫中的結構化資料資料轉換為非結構化資料 然後將非結構化資料轉化為分詞結構 配置與使用 syl setting...