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

塘沽网站建设优化.net 响应式网站

塘沽网站建设优化,.net 响应式网站,衡水电子商务网站建设,全国十大室内设计师关于倒排索引搜索引擎通常检索的场景是#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.yutouwan.com/news/81387/

相关文章:

  • 网站建设需求方案pdf简历模板手机版填写免费
  • 网站弹出的对话框怎么做网站建设管理员工工资多少钱
  • 深圳建站公司 方网站中国传统文化网页设计
  • 岳麓 网站设计婚纱摄影的网站模板
  • 国外设计学院网站三、网站开发使用软件环境
  • 影视文化传媒公司网站建设wordpress语言切换插件
  • 深圳网页设计推广服务南通网站排名优化报价
  • 专做蓝领招聘网站有哪些酒吧网站设计
  • 做盗版影视网站网页设计教学视频免费
  • 高端网站设计杭州photoshop软件教学
  • 北京建设商业网站nike建设网站的目的
  • 郑州 网站建设有限公司在线生成app网站源码
  • 手机端网站开发页学校宣传策划方案
  • 视频网站会员系统怎么做wordpress eshop
  • 移动端网站生成器活动页面设计
  • 写作参考范文网站官方网站哪家做的最好
  • 内网网站模板广西住房和城乡建设厅培训中心网站首页
  • 工程信息价查询网站广告设计海报
  • 洛阳便宜网站建设报价石家庄网站推广软件
  • 招聘58同城找工作网站做优化必须要ftp吗
  • 怎么在网上注册自己的网站有没有做网站兼职
  • 请别人做网站注意事项营销网站的设计思路
  • 公司网站设计需要多少钱招生平台网站开发
  • 东莞网站建设主要学什么酒店网站html模板
  • 网站建设沙漠风苏州网站建设及推广
  • 优秀网站设计网站seo诊断专家
  • 在阿里巴巴网站上怎么做贸易上海人才网官网下载
  • 网站开发层次想学设计没有基础怎么办
  • 收废品做网站怎么做建筑人才网最新招聘信息息
  • 做网站的无锡大学生网页设计作业代码