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

企业网络推广网站百度sem竞价推广电子书

企业网络推广网站,百度sem竞价推广电子书,网站改版优化,html音乐网站源码关于倒排索引搜索引擎通常检索的场景是#xff1a;给定几个关键词#xff0c;找出包含关键词的文档。怎么快速找到包含某个关键词的文档就成为搜索的关键。这里我们借助单词——文档矩阵模型#xff0c;通过这个模型我们可以很方便知道某篇文档包含哪些关键词#xff0c;某…关于倒排索引搜索引擎通常检索的场景是给定几个关键词找出包含关键词的文档。怎么快速找到包含某个关键词的文档就成为搜索的关键。这里我们借助单词——文档矩阵模型通过这个模型我们可以很方便知道某篇文档包含哪些关键词某个关键词被哪些文档所包含。单词-文档矩阵的具体数据结构可以是倒排索引、签名文件、后缀树等。倒排索引源于实际应用中需要根据属性的值来查找记录lucene是基于倒排索引实现的。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值而是由属性值来确定记录的位置因而称为倒排索引(inverted index)。带有倒排索引的文件我们称为倒排索引文件简称倒排文件(inverted file)。倒排索引一般表示为一个关键词然后是它的频度(出现的次数)位置(出现在哪一篇文章或网页中及有关的日期作者等信息)它相当于为互联网上几千亿页网页做了一个索引好比一本书的目录、标签一般。读者想看哪一个主题相关的章节直接根据目录即可找到相关的页面。不必再从书的第一页到最后一页一页一页的查找。倒排索引由两个部分组成单词词典和倒排文件。倒排文件所有单词的倒排列表顺序的存储在磁盘的某个文件里这个文件即被称为倒排文件倒排文件是存储倒排索引的物理文件。单词词典单词词典是由文档集合中出现过的所有单词构成的字符串集合单词词典内每条索引项记载单词本身的一些信息以及指向“倒排列表”的指针。单词词典是倒排索引中非常重要的组成部分它是用来维护文档集合中所有单词的相关信息同时用来记载某个单词对应的倒排列表在倒排文件中的位置信息。在支持搜索时根据用户的查询词去单词词典里查询就能够获得相应的倒排列表。对于一个规模很大的文档集合来说可能包含了几十万甚至上百万的不同单词快速定位某个单词直接决定搜索的响应速度所以我们需要很高效的数据结构对单词词典进行构建和查找。常用的数据结构包含哈希加链表和树形词典结构。Lucene倒排索引原理Lucerne使用的是倒排文件索引结构。该结构及相应的生成算法如下设有两篇文章1和2文章1的内容为Tom lives in Guangzhou,I live in Guangzhou too.文章2的内容为He once lived in Shanghai.1取得关键词由于lucene是基于关键词索引和查询的首先我们要取得这两篇文章的关键词通常我们需要如下处理措施a.我们现在有的是文章内容即一个字符串我们先要找出字符串中的所有单词即分词。英文单词由于用空格分隔比较好处理。中文单词间是连在一起的需要特殊的分词处理。b.文章中的”in”, “once” “too”等词没有什么实际意义中文中的“的”“是”等字通常也无具体含义这些不代表概念的词可以过滤掉c.用户通常希望查“He”时能把含“he”“HE”的文章也找出来所以所有单词需要统一大小写。d.用户通常希望查“live”时能把含“lives”“lived”的文章也找出来所以需要把“lives”“lived”还原成“live”e.文章中的标点符号通常不表示某种概念也可以过滤掉在lucene中以上措施由Analyzer类完成。经过上面处理后文章1的所有关键词为[tom] [live] [guangzhou] [i] [live] [guangzhou]文章2的所有关键词为[he] [live] [shanghai]2建立倒排索引有了关键词后我们就可以建立倒排索引了。上面的对应关系是“文章号”对“文章中所有关键词”。倒排索引把这个关系倒过来变成: “关键词”对“拥有该关键词的所有文章号”。文章12经过倒排后变成1234567关键词          文章号guangzhou        1he               2i                1live             1,2shanghai         2tom              1通常仅知道关键词在哪些文章中出现还不够我们还需要知道关键词在文章中出现次数和出现的位置通常有两种位置a.字符位置即记录该词是文章中第几个字符(优点是关键词亮显时定位快)b.关键词位置即记录该词是文章中第几个关键词(优点是节约索引空间、词组(phase)查询快)lucene中记录的就是这种位置。加上“出现频率”和“出现位置”信息后我们的索引结构变为12345678关键词            文章号[出现频率]              出现位置guangzhou           1[2]                      36he                  2[1]                      1i                   1[1]                      4live                1[2]                      25,2[1]                      2shanghai            2[1]                      3tom                 1[1]                      1以live 这行为例我们说明一下该结构live在文章1中出现了2次文章2中出现了一次它的出现位置为“2,5,2”这表示什么呢我们需要结合文章号和出现频率来分析文章1中出现了2次那么“2,5”就表示live在文章1中出现的两个位置文章2中出现了一次剩下的“2”就表示live是文章2中第 2个关键字。以上就是lucene索引结构中最核心的部分。我们注意到关键字是按字符顺序排列的(lucene没有使用B树结构)因此lucene可以用二分搜索算法快速定位关键词。3实现实现时lucene将上面三列分别作为词典文件(Term Dictionary)、频率文件(frequencies)、位置文件 (positions)保存。其中词典文件不仅保存有每个关键词还保留了指向频率文件和位置文件的指针通过指针可以找到该关键字的频率信息和位置信息。Lucene中使用了field的概念用于表达信息所在位置(如标题中文章中url中)在建索引中该field信息也记录在词典文件中每个关键词都有一个field信息(因为每个关键字一定属于一个或多个field)。4压缩算法为了减小索引文件的大小Lucene对索引还使用了压缩技术。首先对词典文件中的关键词进行了压缩关键词压缩为例如当前词为“阿拉伯语”上一个词为“阿拉伯”那么“阿拉伯语”压缩为3语。其次大量用到的是对数字的压缩数字只保存与上一个值的差值(这样可以减小数字的长度进而减少保存该数字需要的字节数)。例如当前文章号是16389(不压缩要用3个字节保存)上一文章号是16382压缩后保存7(只用一个字节)。5应用原因下面我们可以通过对该索引的查询来解释一下为什么要建立索引。假设要查询单词 “live”lucene先对词典二元查找、找到该词通过指向频率文件的指针读出所有文章号然后返回结果。词典通常非常小因而整个过程的时间是毫秒级的。而用普通的顺序匹配算法不建索引而是对所有文章的内容进行字符串匹配这个过程将会相当缓慢当文章数目很大时时间往往是无法忍受的。
http://www.zqtcl.cn/news/704187/

相关文章:

  • 网站建设湖南wordpress 缓存时间
  • 木藕设计网站大全福州网络营销推广产品优化
  • 建设银行网上官方网站怎么批量修改wordpress文章内容
  • 多肉建设网站的目的及功能定位app网站开发成本
  • 如何保存网站上的图片不显示图片报纸网站建设
  • 网站营销的流程品牌推广方式有哪些
  • 网站开发的条件美术字设计
  • 网站可以自己做服务器么wordpress架站教程
  • 用ps怎么做网站导航条怎么做部署iis网站
  • 酒店 网站构建怎么创建自己的网址
  • 江苏推广网站建设业务个人工作室网站源码带后台
  • 色一把做最好的网站赤峰微信网站建设
  • 指定网站长期建设 运营计划网站淘宝客 没备案怎么做
  • 绵阳网站推广排名知名商业网站有哪些
  • 简要描述创建商务站点的商务天津建设工程合同备案网站
  • 做展示空间设计的网站wordpress调用作品分类
  • 网站怎么做访问量统计百度百科怎么创建自己
  • 泉州开发网站的公司有哪些网站页面相似度查询工具
  • 卖文章的网站源码咸阳做网站的公司电话
  • 网站建设案例百度云怎么在手机上传百度云wordpress
  • 传媒公司取名seo网站推广怎么收费
  • 网站建设具体详细过程WordPress usdt收款
  • 网站标题应怎设置生产备案号怎么查询网站
  • 怎样建立网站目录结构网站 项目方案
  • jsp做网站还响应式科技公司网站模板
  • 杭州网站建设设计公司做阀门网站
  • 用模板建站青岛企业网站制作公司
  • 网站建设经费预算表辽宁工程建设招标网
  • sql数据库查询网站模板谷歌浏览器网页版入口
  • 成都h5建站市场监督管理局举报电话