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

蓝衫网站建设典型的网站开发人员

蓝衫网站建设,典型的网站开发人员,商丘网站制作报价信赖赛憬科技,营销网络是什么意思MySQL全文索引是MySQL中提供的一种基于全文索引的搜索功能#xff0c;主要用于在InnoDB或MyISAM表中搜索信息。 创建全文索引 创建全文索引使用FULLTEXT关键字。你可以在创建表时添加全文索引#xff0c;或者通过修改已有表结构添加全文索引。 在创建表时添加全文索引主要用于在InnoDB或MyISAM表中搜索信息。 创建全文索引 创建全文索引使用FULLTEXT关键字。你可以在创建表时添加全文索引或者通过修改已有表结构添加全文索引。 在创建表时添加全文索引 CREATE TABLE table_name (column1 datatype,column2 datatype,...,FULLTEXT (column_name) );在已经存在的表上添加全文索引 ALTER TABLE table_name ADD FULLTEXT(column_name);以上两个SQL语句将在指定的列上创建全文索引。 使用全文索引 全文索引主要使用MATCH()和AGAINST()函数来进行搜索操作。 MATCH() 和 AGAINST() 函数 其基本语法格式为 SELECT column_name(s) FROM table_name WHERE MATCH (col1,col2,...) AGAINST (expr [search_modifier]);其中 MATCH(col1,col2,..): 这部分定义了要在哪些列上进行全文搜索。你可以在一个或多个列上进行全文搜索。AGAINST(expr [search_modifier]): expr 是你要搜索的字符串search_modifier 是可选项用于定义搜索模式。 search_modifier 可以是以下几种类型 在自然语言模式搜索默认不使用任何修饰符。在布尔模式搜索使用 IN BOOLEAN MODE 修饰符。在查询扩展模式搜索使用 WITH QUERY EXPANSION 修饰符。 例 SELECT column_name(s) FROM table_name WHERE MATCH (col1) AGAINST (string to search);此查询将返回包含“string to search”的所有行其中搜索发生在列col1上。 MySQL的全文搜索的三种模式 MySQL的全文搜索有三种模式自然语言模式布尔模式和查询扩展模式。下面我们将逐一对这三种模式进行说明。 自然语言模式 这是默认的全文搜索模式。在该模式下MySQL会根据每个单词在整个集合中出现的频率以及它们在给定文档中出现的频率来计算相关性。不允许使用运算符。 SELECT column_name(s) FROM table_name WHERE MATCH (column_name) AGAINST (word_to_search);布尔模式 在此模式下可以使用布尔运算符如 必须存在、 -不能存在、  ~ * 引号内的词汇必须作为一个词汇匹配等以控制搜索的行为。 SELECT column_name(s) FROM table_name WHERE MATCH (column_name) AGAINST (word1 -word2 IN BOOLEAN MODE);上述查询将返回所有包含“word1”但不包含“word2”的行。 查询扩展模式 在此模式下MySQL首先执行自然语言模式搜索然后再搜索与初步搜索结果最相关的行并基于这些行生成查询然后执行第二次搜索并返回结果。 SELECT column_name(s) FROM table_name WHERE MATCH (column_name) AGAINST (word_to_search WITH QUERY EXPANSION);这样的搜索通常会返回更多的结果因为它们通过搜索与初步搜索结果相关的词汇来扩展查询。 全文索引的限制 全文搜索仅支持InnoDB和MyISAM类型的表。 区表上不支持分全文索引。 大多数多字节字符集都可以使用全文搜索。例外是对于Unicode可以使用utf8mb3或utf8mb4字符集但不可以使用ucs2字符集。尽管无法使用ucs2列上的FULLTEXT索引但你仍可以在没有此类索引的ucs2列上执行IN BOOLEAN MODE布尔模式搜索。 对于utf8mb3的说明同样适用于utf8mb4对于ucs2的说明也适用于utf16、utf16le和utf32。 汉字和日文等表意文字语言没有词分隔符。因此内建的全文解析器无法确定这些及其他类似语言中单词的开始和结束位置。 提供了一个支持中文、日文和韩文CJK的基于字符的ngram全文解析器以及一个支持日文的基于词的MeCab解析器插件可用于InnoDB和MyISAM表。 尽管支持在单个表中使用多种字符集但在FULLTEXT索引中的所有列必须使用相同的字符集和排序规则。 MATCH()函数中的列列表必须与表中某个FULLTEXT索引定义的列列表完全匹配除非这个MATCH()是在MyISAM表上的IN BOOLEAN MODE。对于MyISAM表即使是非索引的列也可以进行布尔模式搜索尽管它们可能会很慢。 AGAINST()的参数必须是查询评估期间恒定的字符串值。这排除了例如表列因为它可能对每一行都不同。 从MySQL 8.0.28版本开始MATCH()的参数不能使用汇总列。 对于全文搜索索引提示比非全文搜索更有限。 对于InnoDB在事务提交时处理涉及全文索引列的所有DML操作INSERT、UPDATE、DELETE。例如对于INSERT操作插入的字符串被标记化并分解为单独的单词。当交易提交时这些单词随后被添加到全文索引表中。结果是全文搜索只返回已提交的数据。 %字符不是全文搜索支持的通配符。
http://www.pierceye.com/news/338803/

相关文章:

  • 淄博张店做网站的公司建筑设计公司资质等级
  • 一个网站的建设需要哪些流程图eclipse的开发网站开发
  • 网站链接跳转怎么做建立数据库连接时出错wordpress
  • 漳州网站建设选博大不错江苏省建设工程注册中心网站
  • 文件下载网站源码免费做网站空间
  • 怎样给公司做一个网站做推广新网域名管理平台
  • 新蔡县做网站收多少钱二级分销利润分配模式
  • 鞍山百度网站怎么制作python培训视频教程
  • 湛江网站建设与网页网站建设需要什么证件
  • 东莞建站公司案例全网天下案例wordpress入门教程知乎
  • 网站策划书包含的内容化工设计网站
  • 做网站推广电话网站建设制作免费推广
  • 如何发布网站响应式商城网站
  • 网站建设应用程序开发网站建设的意义以及重要性
  • 网站建设进度说明嘉兴公司制作网站的
  • 山东省建设注册管理网站手机免费网站制作
  • 台州网站制作套餐如何查询网站的主机
  • 毕业设计代做哪个网站好房产中介如何找客源
  • 怎么下载自己做的网站杭州互联网公司排名
  • 做曖視頻网站网站开发设计流程论文
  • 北京移动官网网站建设凡科做的网站好吗
  • 申请网站域名怎么做wordpress金融主题
  • 中国建设银行移动门户网站wordpress 生成html代码
  • dw网站建设框架大小设定广州分销商城开发
  • 网站一年的 运营费用一般企业网站建设合同
  • 九龙坡集团网站建设贵阳网站建设推广
  • 架设网站 自己购买服务器无锡seo网站推广费用
  • 网站关键词长度开平 做一网站
  • 青海制作网站可以网站可以做免费的文案广告
  • 深圳维特网站建设有彩虹代刷源码怎么做网站