Lucene索引初探.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Lucene索引初探

Lucene索引初探 目标:尽量介绍清楚原理和过程 如果有三个文档 文档A内容:Tokens, combined with their associated field name, are terms. 文档B内容:Lucene’s primary goal is to facilitate information retrieval. 文档C内容:You want to throw gobs of text at Lucene and have them be richly searchable by the individual words within that text. 怎么知道哪个文档包含Luncene? 最直观的想法就是Lucene去匹配三个文档中的每个单词 那么第二次需要知道哪个文档包含name怎么办? 每次都拿单词遍历所有文档效率太低! 如何提高搜索效率? 怎么避免每次搜索都要每个文档都全文匹配一遍呢? 看书时可以通过目录来了解对应章节包含的内容。 原始文本文档结构化 书有目录,文档可以有目录 可否把文档中的所有单词都作为目录项呢? 只查目录项就知道搜索结果。 文档中的单词会重复,目录项不会重复,因此目录项会比文档小很多 目录项可以排序,对有序集合查找速度快 反向索引 从非结构化数据中提取出的然后重新组织的信息,称之为索引 索引保存从字符串到文件的映射 从字符串到文件的映射是文件到字符串映射的反向过程,于是保存这种信息的索引称为反向索引 Lucene全文检索过程 全文检索大体分两个过程,索引创建(Indexing)和搜索索引(Search)。 索引创建:将现实世界中所有的结构化和非结构化数据提取信息,创建索引的过程。 搜索索引:就是得到用户的查询请求,搜索创建的索引,然后返回结果的过程 反向索引大结构 假设文档集合里面有100 篇文档,文档编号从1 到100 左侧左边保存的是一系列字符串,称为词典 每个字符串都指向包含此字符串的文档(Document)链表,此文档链表称为倒排表(PostingList) 按照索引搜索过程 寻找既包含“lucene”又包含“solr”的文档 1. 取出包含字符串“lucene”的文档链表。 2. 取出包含字符串“solr”的文档链表。 3. 通过合并链表,找出既包含“lucene”又包含“solr”的文件 文档3、10、35、92包含查询目标 红流程为生成索引步骤 步骤一:待索引文件 待索引文件所在目录使用FSDirectory表达 步骤二: Analysis /tokenization extracting words discarding punctuation removing accents from characters lowercasing(also called normalizing) removing common words reducing words to a root form (stemming), or changing words into the basic form (lemmatization) extracting words 文档分成一个一个单独的单词 discarding punctuation 去除标点符号 removing common words 去除停词(Stop word) 停词(Stop word)就是一种语言中最普通的一些单词,比如a、the、this,由于没有特别的意义,因而大多数情况下不能成为搜索的关键词,因而创建索引时,这种词会被去掉而减少索引的大小。 Linguistic Processor 语言处理组件(linguistic processor)主要是对得到的词元(Token)做一些同语言相关的处理 将单词缩减为词根形式,如“cars”到“car”等。这种操作称为:stemming。 将单词转变为词根形式,如“drove”到“drive”等。这种操作称为:lemmatization。 举例 内容一:Students should be allowed to go out with their friends, but not allowed to drink beer. 内容二:My friend Jerry went to school to see his students but found them drunk which is not allowed. 对原始文本进行Tokenizer 经过分词(Tokenizer)后得到的结果称为词元(Token)。 “Students”,“allowed”,“go”,“their”,“friends”,“allowed”,“drink”,“beer”,“My”

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档