当前位置: 首页 > news >正文

新开最好的传奇网站烟台制作网站的公司

新开最好的传奇网站,烟台制作网站的公司,南昌城市旅游网站建设,wordpress导航 插件在MySQL中#xff0c;MATCH……AGAINST是全文索引#xff08;Full-Text index#xff09;的查询语法#xff0c;它允许你对文本进行高效的全文搜素#xff0c;支持自然语言搜索和布尔搜索模式。以下是MATCH……AGAINST的详细用法和示例 一、全文索引的基本概念 全文索引适…在MySQL中MATCH……AGAINST是全文索引Full-Text index的查询语法它允许你对文本进行高效的全文搜素支持自然语言搜索和布尔搜索模式。以下是MATCH……AGAINST的详细用法和示例 一、全文索引的基本概念 全文索引适用于CHAR、VARCHAR和TEXT类型的列 全文索引支持自然语言搜索和布尔搜索 全文索引只能用于MyISAM和InnoDB存储引擎MySQL5.6及以上版本支持InnoDB的全文索引 二、创建全文索引 在需要使用全文索引的列上创建全文索引 示例 CREATE TABLE articles (id INT PRIMARY KEY AUTO_INCREMENT,title VARCHAR(255) NOT NULL,content TEXT NOT NULL,FULLTEXT (title, content) -- 在title和content列上创建全文索引 ); 三、自然语言搜索 自然语言搜索是全文索引的默认模式。它会根据搜索词的相关性返回结果 SELECT * FROM table_name WHERE MATCH(column1, column2, ...) AGAINST(search_term); 示例 -- 插入数据 INSERT INTO articles (title, content) VALUES (MySQL Tutorial, This is a tutorial about MySQL.), (Advanced MySQL, Learn advanced techniques in MySQL.), (PostgreSQL vs MySQL, A comparison between PostgreSQL and MySQL.); ​ -- 自然语言搜索 SELECT * FROM articles WHERE MATCH(title, content) AGAINST(MySQL); 结果 返回包含MySQL的记录并按相关性排序 相关性得分可以通过MATCH……AGAINST的结果获取 SELECT id, title, MATCH(title, content) AGAINST(MySQL) AS score FROM articles WHERE MATCH(title, content) AGAINST(MySQL); 四、布尔搜索 布尔搜素允许使用特定的操作符来精确控制搜索行为 语法 SELECT * FROM table_name WHERE MATCH(column1, column2, ...) AGAINST(search_term IN BOOLEAN MODE); 常用操作符 必须包含该词。 -必须不包含该词。 *通配符匹配以指定词开头的词。 短语搜索匹配完整短语。 ()分组操作符。 示例 -- 必须包含MySQL且不包含PostgreSQL SELECT * FROM articles WHERE MATCH(title, content) AGAINST(MySQL -PostgreSQL IN BOOLEAN MODE); ​ -- 包含MySQL或PostgreSQL SELECT * FROM articles WHERE MATCH(title, content) AGAINST(MySQL PostgreSQL IN BOOLEAN MODE); ​ -- 包含以My开头的词 SELECT * FROM articles WHERE MATCH(title, content) AGAINST(My* IN BOOLEAN MODE); ​ -- 包含完整短语MySQL Tutorial SELECT * FROM articles WHERE MATCH(title, content) AGAINST(MySQL Tutorial IN BOOLEAN MODE); 五、相关性排序 全文索引会为每条记录计算一个相关性得分Relevance Score可以根据得分对结果进行排序。 示例 SELECT id, title, MATCH(title, content) AGAINST(MySQL) AS score FROM articles WHERE MATCH(title, content) AGAINST(MySQL) ORDER BY score DESC; 六、全文索引的限制 最小词长度默认情况下MySQL全文索引会忽略长度小于4的词。可以通过修改ft_min_word_lenMyISAM或innodb_ft_min_token_sizeInnoDB参数调整 停用词全文索引会忽略常见的停用词如the、and等。可以通过修改ft_stopword_file参数自定义停用词列表。 中文支持MySQL的全文索引对中文支持较差通常需要配合分词工具如ngram使用。 七、 配置全文索引 修改最小词长度 -- 查看当前配置 SHOW VARIABLES LIKE innodb_ft_min_token_size; ​ -- 修改配置需要重启MySQL SET GLOBAL innodb_ft_min_token_size 2; 使用ngram分词器支持中文 -- 创建表时指定ngram分词器 CREATE TABLE articles (id INT PRIMARY KEY AUTO_INCREMENT,title VARCHAR(255) NOT NULL,content TEXT NOT NULL,FULLTEXT (title, content) WITH PARSER ngram ); ​ -- 查询时使用ngram分词器 SELECT * FROM articles WHERE MATCH(title, content) AGAINST(关键词 IN BOOLEAN MODE); 八、 删除全文索引 如果需要删除全文索引可以使用以下语法 ALTER TABLE table_name DROP INDEX index_name; 示例 ALTER TABLE articles DROP INDEX title; 九. 全文索引的性能优化 索引列选择只为需要搜索的列创建全文索引避免不必要的索引开销。 分词器选择对于中文搜索使用ngram分词器。 缓存结果对于高频查询可以将结果缓存到Redis等缓存系统中。
http://www.hkea.cn/news/14460603/

相关文章:

  • 南充网站建设114岳阳找工作网站
  • 装修素材的网站大全wordpress文章推荐
  • 特效网站大全seo整站优化外包
  • 上海定制化网站开发全国黄页平台
  • 西安网站建设制作广西工程造价信息网
  • 给网站开发自己的一封信网红店的营销方式
  • 美团网站建设规划书建设通官网通
  • 建筑网站水泡网国外对企业网站开发的研究
  • 站群seo企业网站报价方案下载
  • 济南网站建设推广报价青岛专业做网站的公司
  • 深圳网站建设迅美域名的作用
  • 大连建设主管部门官方网站贡井区建设局网站
  • 凤岗东莞微信网站建设中关村手机在线
  • 网站建设哪些好做城市网站的标语
  • 西安模板建站公司企业网站建设知名
  • 做ppt的模板的网站有哪些wordpress 开源模板
  • 美食网站要怎么做电子商务网站 功能
  • 网站建设书籍附光盘谷歌商店paypal官网下载
  • 网站开发人才培养目标山东振国网站建设
  • 设计网站大全威县网站建设代理价格
  • 投资网站php源码加盟网站有哪些
  • 上海网站关键字优wordpress博客设置主题方法
  • 做网站开发没有人带广州公布一批重点场所
  • 怎么自己编写网站网站制作规划设计内容
  • 阳江网站建设推广公司电话网站是用什么编程语言编写的
  • 如何用ppt形式做网站宝塔怎么做两个网站
  • 花生壳做网站用自己网站域名这么做邮箱
  • 青岛找网站建设公司哪家好版面设计的目的是什么
  • 网站建设电子有没有个人做网站的
  • 重庆网站建设方案苏州公司建设网站