mysql 全文索引 权重_MySQL中的全文索引
之前曾經發表了一篇關于SQL?Server全文索引的文章。現在將MySQL全文索引的配置過程記錄一下。
Step1:創建Student表
CREATE?TABLE?`student`?(
`id`?INT(11)?NOT?NULL?AUTO_INCREMENT,
`studentname`?VARCHAR(16)?NOT?NULL,
`address`?VARCHAR(256)?DEFAULT?'北京',
`gender`?TINYINT(4)?NOT?NULL,
`mymoney`?DECIMAL(18,2)?DEFAULT?NULL,
PRIMARY?KEY?(`id`),
FULLTEXT?KEY?`studentname`?(`studentname`)
)?ENGINE=MYISAM??CHARSET=utf8
Step2:插入測試數據
INSERT?INTO?`xsh`.`student`
(
`studentname`,
`address`,
`gender`,
`mymoney`)
VALUES?(
'happy?love?happy',
'北京',
1,
1);
Step3:修改my.ini文件,重啟服務
my.ini?(Linux下是my.cnf)?,在[mysqld]后面加入一行“ft_min_word_len=1”,然后重啟Mysql
可以通過SHOW??VARIABLES?LIKE?'ft_min_word_len'查看結果
Step4:忽略權重查詢(表中只有一條數據)
mysql默認的閥值是50%,上面‘you’在每個文檔都出現,因此是100%,只有低于50%的才會出現在結果集中。??但是如果不考慮權重,那么該怎么辦呢?MySQL提供了布爾全文檢索(BOOLEAN?FULLTEXT?SEARCH)
SELECT?*?FROM?student
WHERE?MATCH(studentname)?AGAINST('love'??IN?BOOLEAN?MODE)
這里只做一個簡單記錄,因為全文索引的基礎是分詞,但是MySQL不支持中文。需要通過插件或者其他手段實現@!
總結
以上是生活随笔為你收集整理的mysql 全文索引 权重_MySQL中的全文索引的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java获得jsp的name注解_记录J
- 下一篇: QtCreator下使用c++标准输入c