MySQL全文检索

https://help.aliyun.com/document_detail/107083.html

知乎:https://zhuanlan.zhihu.com/p/417229576

官方文档:https://dev.mysql.com/doc/refman/5.7/en/fulltext-boolean.html

 

#添加全文索引

ALTER TABLE `biz_document` ADD FULLTEXT f_content (`content`) with parser ngram;

ALTER TABLE `biz_document` ADD FULLTEXT f_title (`title`) with parser ngram;

#搜索

SELECT * FROM biz_document WHERE MATCH (title) AGAINST ('最多跑一次' IN NATURAL LANGUAGE MODE); #自然语言模式

SELECT * FROM biz_document WHERE MATCH (title) AGAINST ('+最多跑一次 +管理' IN BOOLEAN MODE); #布尔模式

SELECT * FROM biz_document WHERE MATCH (title) AGAINST ('+最多跑一次 -管理' IN BOOLEAN MODE); #布尔模式

SELECT * FROM biz_document WHERE MATCH (title) AGAINST ('>最多跑一次 +MySQL' IN BOOLEAN MODE); #布尔模式


#自然语言模式: 文本的查询被转换为n-gram分词查询的并集。例如,where条件('信息系统')转换为('信息 息系 系统')
#布尔模式:文本查询被转化为n-gram分词的短语查询。 例如,where条件('信息系统')转换为("'信息 息系 系统'")。

#通配符查询: 如果前缀的长度比ngram_token_size小,那么查询结果将返回在全文索引中所有以这个词作为前缀的n-gram的词。
-- 如果前缀的长度大于等于ngam_token_size,那么这个查询则转换为一个短语(phrase search),通配符则被忽略, 改用短语查询。

#INSERT INTO biz_acticles (title) VALUES ('信息系统'), ('信息 系统'), ('信息的系统'), ('信息'), ('系统'), ('息系');

SELECT * FROM biz_acticles WHERE MATCH (title) AGAINST ('信息系统' IN NATURAL LANGUAGE MODE); #自然语言模式

SELECT * FROM biz_acticles WHERE MATCH (title) AGAINST ('信息系统' IN BOOLEAN MODE); #布尔模式

SELECT * FROM biz_acticles WHERE MATCH (title) AGAINST ('信息*' IN BOOLEAN MODE); #通配符查询

SELECT * FROM biz_acticles WHERE MATCH (title) AGAINST ('"信息 系统"' IN BOOLEAN MODE); #短语查询

show VARIABLES LIKE '%token%'; #ngram_token_size

 

ALTER TABLE tb_cust_order ADD FULLTEXT KEY `elec_addr_fulltext_idx` (`elec_addr`) with parser ngram;
ALTER TABLE tb_cust_order DROP INDEX elec_addr_fulltext_idx;

 

 

posted @   Peter.Jones  阅读(107)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示