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

遵义网站建设oadmin谷歌seo网站运营

遵义网站建设oadmin,谷歌seo网站运营,安徽元鼎建设工程 网站,阜阳网站推广分析回答 全文索引的底层实现为倒排索引。 为什么叫倒排索引#xff08;反向索引#xff09; 当表上存在全文索引时#xff0c;就会隐式的建立一个名为FTS_DOC_ID的列#xff0c;并在其上创建一个唯一索引#xff0c;用于标识分词出现的记录行。你也可以显式的创建…分析回答 全文索引的底层实现为倒排索引。 为什么叫倒排索引反向索引 当表上存在全文索引时就会隐式的建立一个名为FTS_DOC_ID的列并在其上创建一个唯一索引用于标识分词出现的记录行。你也可以显式的创建一个名为FTS_DOC_ID的列但需要和隐式创建的列类型保持一致否则创建的时候将会报错并且不能通过FTS_DOC_ID来查找列 mysql select * from articles where FTS_DOC_ID 1; ERROR 1054 (42S22): Unknown column FTS_DOC_ID in where clause 复制代码 所以建立的articles表中列为 FTS_DOC_ID、id、title、body 常规的索引是文档到关键词的映射文档——关键词 倒排索引是关键词到文档的映射关键词——文档 全文索引通过关键字找到关键字所在文档可以提高查询效率 倒排索引结构 NumberTextDocuments1code(1:6),(4:8)2days(3:2),(6:2)3hot(1:3),(4:4) 是word ilist的存储结构 Text对应于word是一个分词。Document存储的是键值对键为FTS_DOC_ID值为在文档中的位置对应于ilist。其中word保存在Auxiliary Table中总共有六张每张表根据word的Latin编码进行分区下面有介绍。 FTS Index Cache(全文检索索引缓存) 在事务提交的时候将分词写入到FTS Index Cache中批量更新到Auxiliary Table为了提高性能不会插入一条数据立刻更新到Auxiliary Table。进行批量更新的几种情况 全文检索索引缓存已满默认大小为32M可以通过修改innodb_ft_cache_size来改变FTS Index Cache的大小关闭数据库的时候将FTS Index Cache中的数据库会同步到磁盘上的Auxiliary Table中当对全文检索进行查询时首先会将在FTS Index Cache中对应的字段合并到Auxiliary Table中然后在进行查询当数据库突然宕机时可能会导致一些FTS Index Cache中的数据未同步到Auxiliary Table上。数据库重启时当用户对表进行全文检索时InnoDB存储引擎会自动读取未完成的文档然后进行分词操作在将分词的结果放入到FTS Index Cache中。innodb_ft_cache_size的大小会影响恢复的时间FTS Index Cache为红黑树结构会根据(word,ilist)进行排序插入 Auxiliary Table(辅助表) Auxiliary Table存储在磁盘中进入保存mysql数据的目录下xxx/xxx/data/study 看到有FTS_000000000000005e_0000000000000087_INDEX_0~6.ibd其对应的就是六张Auxiliary Table 其余文件介绍 FTS_000000000000005e_DELETED.ibd FTS_000000000000005e_DELETED_CACHE.ibd 复制代码 记录的是从Auxiliary Table中删除的FTS_DOC_ID后者是前者的内存缓存 FTS_000000000000005e_BEING_DELETED.ibd FTS_000000000000005e_BEING_DELETED_CACHE.ibd 复制代码 记录的是已经被删除索引记录并真正从FTS Index Cache删除的FTS_DOC_ID(即删除FTS Index Cache并做了OPTIMIZE TABLE)后者是前者的内存缓存。这两个表主要用于辅助进行OPTIMIZE TABLE时将DELETED/DELETED_CACHED表中的记录转储到其中 FTS_000000000000005e_CONFIG.ibd 复制代码 包含全文索引的内部信息最重要的存储是FTS_SYNCED_DOC_ID表示已经解析并刷到磁盘的FTS_DOC_ID 在系统宕机时可以根据这个值判断哪些该重新分词并加入到FTS Index Cache中 DML操作 DML 只是对表内部的数据操作,不涉及表的定义,结构的修改。 主要包括(insert)(delete)(update)(select) 删除数据库。 插入操作 插入操作较为简单当往表中插入记录时提交事务时会对全文索引上的列进行分词存储到FTS Index Cache最后在批量更新到Auxiliary Table中删除操作 当提交删除数据的事务以后不会删除Auxiliary Table中的数据而只会删除FTS Index Cache中的数据。对于Auxiliary Table中被删除的记录InnoDB存储引擎会记录其FTS Document Id并将其保存在DELETED Auxiliary Table中。可以通过OPTIMIZE TABLE手动删除索引中的记录。更新操作查找操作 分为两步。第一步根据检索词搜集符合条件的FTS_DOC_ID在搜集满足条件的FTS_DOC_ID首先读取delete表中记录的FTS_DOC_ID这些FTS_DOC_ID随后被用做过滤 第二步根据FTS_DOC_ID找到对应的记录找到的记录是根据相关性大小降序返回的。 反思扩展 说说正向索引和反向索引 正向索引forward index 一般是通过key去找value。 反向索引inverted index 从词的关键字去找文档。 喵呜面试助手一站式解决面试问题你可以搜索微信小程序 [喵呜面试助手] 或关注 [喵呜刷题] - 面试助手 免费刷题。如有好的面试知识或技巧期待您的共享
http://www.yutouwan.com/news/187137/

相关文章:

  • 通州网站建设服务免费观看短视频的app软件推荐
  • 做代销的网站qq是哪款软件开发的
  • 在线app开发网站建设企查查企业信息查询网站
  • 临沂建展示网站网站后端开发需要学什么
  • 腾冲做兼职的网站网站开发和软件开发有什么区别
  • 如何让别人看到自己做的网站wordpress 分页 增加class
  • 中国建设人才服务信息网是正规网站网站设计论文题目
  • 云主机如何建网站iis 部署wordpress
  • 2017年内蒙古建设厅网站汕头seo公司
  • 网站建设的中期报告一家公司做网站需要什么资料
  • 网站显示500错误怎么解决方法探马scrm
  • 网站模版怎么样asp+sql server典型网站建设案例 光盘
  • 手机网站 qq代码鹤山网站建设易搜互联
  • 制作网站哪里做疾病预防控制中心
  • 做网站服装appwordpress的php版本
  • 鲜花拍卖网站建设市场分析长沙网站设计哪里好
  • 南浔城乡建设局网站.net和php那个做网站好
  • 深圳宝安区住房和建设局网站官网校园网站建设方案策划书
  • 模板网站演示站点怎么做如何建设网站 企业
  • 业务员自己做网站wordpress文章分页标题
  • 寻找做网站建筑行业做网站
  • 网站商品展示页怎么做怎么把网站放到空间
  • 免费的公司网站怎么做怎么打开网站
  • 哈尔滨市做网站优化网页设计 公司
  • 安卓手机怎么做网站网站程序更换
  • 网站素材图片网站建设哪些是需要外援的问题
  • 个人想建个网站怎么弄网站建设与管理代码样式
  • 网站建设中倒计时模板做海报 画册的素材网站
  • 3yx这个网站做刷单WordPress自动采集翻译插件
  • 个人网站 服务器八闽视频app下载