移动搜索引擎剖析

上传人:我** 文档编号:113109787 上传时间:2019-11-08 格式:DOCX 页数:12 大小:991.61KB
返回 下载 相关 举报
移动搜索引擎剖析_第1页
第1页 / 共12页
移动搜索引擎剖析_第2页
第2页 / 共12页
移动搜索引擎剖析_第3页
第3页 / 共12页
移动搜索引擎剖析_第4页
第4页 / 共12页
移动搜索引擎剖析_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《移动搜索引擎剖析》由会员分享,可在线阅读,更多相关《移动搜索引擎剖析(12页珍藏版)》请在金锄头文库上搜索。

1、1、 历史:(选择)搜索技术的历史萌芽阶段:Archie 、Gopher搜索技术的历史起步阶段:Robot 、Spider搜索技术的历史发展阶段: Excite 、Galaxy、Yahoo搜索技术的历史繁荣阶段: Infoseek 、Alta Vista、Google、Baidu2、 搜索技术应用现状采用分布式体系结构提高规模与性能搜索技术应用现状支持目录式分类结构和全文搜索现在的搜索引擎都在3代,4代的在发展中其中,第一代搜索引擎以早期 Yahoo 为代表,第二代以 Google 的创立为标志,之后Google 经过改进 Pagerank 和一系列技术,演化至第三代,而第四代搜索引擎有大量公

2、司如Cuil,Quora 探索,但还未形成成熟的产品。3、 将信息分割成一个个关键字,并辅以关键字所在位置(例如第几页),从而构成一个倒排基本单位。是根据关键字查相应位置1.收集待建索引的原文档(Document) 2.将原文档传给词条化工具(Tokenizer)进行文本词条化 3.将第二步得到的词条(Token)传给语言分析工具(Linguistic modules)进行语言学预处理,得到词项(Term) 4.将得到的词项(Term)传给索引组件(Indexer),建立倒排索引4、信息检索系统的基本知识评价信息检索系统的标准信息检索系统的评价,主要是用户对所获取的结果进行评价。比如,是否喜欢

3、系统,系统界面是否友好,是否能够找到用户所需要的信息。以下是评价信息检索系统的5个指标: 信息是否完全 信息检索的响应时间 召回率 精度 自然程度5、索引创建过程6、 文档(Document)与域(Field)是Lucene中的重要概念,事实上任何与索引文档相关的操作,都是在document类与field类的基础上实现的。 Document在lucene中是一种逻辑文件,Lucene本身无法对物理文件建立索引,只能识别处理Document类型的文件。 Document和物理文件没有关系,是一种数据源的集合,负责向lucene提供原始的要索引的文本内容。 NOTE:Document是负责收集数据

4、,甚至可以不使用物理文件来构建,一段文本、几个数字甚至是链接都可以作为构建Document的数据源。7、Field的属性一般分为3类1. 是否存储2. 是否索引3. 是否分词8、Lucene所以创建过程一般分为三个主要步骤:1. 将原始文档转为文本(Denormalization)2. 分析文本3. 将分析好的文本保存到索引中9、删除索引中的文档:deleteDocuments(Term) 删除包含特定项的所有文档deleteDocuments(Term ) 删除包含数组任一元素的所有文档deleteDocuments(Query) 删除匹配查询语句的所有文档deleteDocuments(Q

5、uery ) 删除匹配查询语句数组任一元素的所有文档deleteAll()删除索引全部文档,与writer先关闭在用参数create=true重新打开登记,deleteAll()方法好处是不用关闭writer10、使用IndexReader类的UndeleteALL()方法,可以恢复不是优化方式(物理)删除的文档。 File indexDir = new File(“D:luceneIndex); IndexReader ir = IndexReader.open(indexDir); ir.undeleteAll(); ir.close(); 11、加权是指对文档和域的重要性通过加权因子进行

6、人为地干预。 加权操作可以在索引期间完成,也可以在搜索期间完成。搜索期间的加权操作会更加动态化, 每次搜索操作都可以根据不通的加权因子独立选择加权或者不加权,但这个策略也可能要稍微多消耗点CPUX效率。NOTE:无论在什么时候进行加权都需要小心,过多的加权操作,特别是在用户界面没有提示的相应文档已经被加权操作的情况下。这可能会使用户搜索到很多用户不关心的东西(如百度的竞价排名)。文档的加权操作:doc.setBoots(float) 域的加权操作: Field subjectField =new Field(author, author,Field.Store.YES,Field.Index.

7、ANALYZED); subjectField. setBoots(1.2F);默认的加权因子是1.0 12、(简答题)实现简单的搜索Lucene的搜索流程初始化Lucene的检索工具类-IndexSearch类,这是Lucene中最基本的检索工具,使用它之前要对IndexReader进行初始化 (需要传入一个保存索引文件的目录参数到其构造方法 ), IndexReader实例对象就可以使用对应的API与存储在索引中的文档document进行交互,在接受Query对象以用于搜索后,并返回TopDocs对象展现搜索结果。13、由上述的构造方法可以看出,IndexReader实例对象的构建一般有2

8、种方式:其中指定到索引给出了两种方式:1.给出索引的Directory;2.给出索引的IndexReader;14、近实时搜索 一种减少索引&搜索翻转时间的方案(填空)近实时搜索:可以使用一个打开的IndexWriter快速搜索索引的变更内容,而不必首先关闭writer,或者向该writer提交;这是2.9版本之后推出的新功能。应用这种技术意味着不需要调用writer中的commit方法,然后再重新打开reader,这样可以节省大量的系统资源,因为调用commit方法必须对索引中的所有文件进行同步,这个同步操作对某些操作系统和文件系统来说通常是负担很重的。近实时搜索其实就是提供了一种方案允许用

9、户对新创建但还未完成提交的段进行搜索。15、Lucene评分机制 Lucene如何评分16、Lucene多样化查询 Query类前面的例子我们已经知道,Lucene查询操作最终需要调用IndexSearch类的search方法,同时传入Query实例对象作为参数。要获取Query实例对象,可以通过Query的子类可以直接实例化,也可以使用用后面介绍的解析查询表达式类QueryParser来得到。Lucene内置的Query类型有: TermQuery TermRangeQuery NumericRangeQuery PrefixQuery BooleanQuery WildcardQuery

10、FuzzyQuery MatchAllQuery17、(填空题)lucene分析器一般会在下面三种时刻起作用: 1、建立索引期间 2、使用QueryParser对象解析查询表达式进行搜索时 3、搜索结果中高亮显示被搜索内容时(即结果摘要-Snippets的生成),也可能会用到分析操作18、一个语汇单元由文本值(即单词本身)和元数据组成。 元数据包括:原始文本从起点与终点的偏移量、语汇单元的类型以及位置增量。上例中,语汇单元the起点偏移量为0,终点偏移量为3,类型为Word,与另外一个语汇单元quick的位置增量为1 。19、使用分析器Lucene内置分析器简介 (简答题)1、Whitespa

11、ceAnalyzer 仅仅是去除空格,对字符没有lowcase化,不支持中文;并且不对生成的词汇单元进行其他的规范化处理。2、SimpleAnalyzer 功能强于WhitespaceAnalyzer, 首先会通过非字母字符来分割文本信息,然后将词汇单元统一为小写形式。该分析器会去掉数字类型的字符。3、StopAnalyzer StopAnalyzer的功能超越了SimpleAnalyzer,在SimpleAnalyzer的基础上增加了去除英文中的常用单词(如the,a等),也可以更加自己的需要设置常用单词;不支持中文。4、StandardAnalyzer 英文的处理能力同于StopAnaly

12、zer.支持中文采用的方法为单字切分。他会将词汇单元转换成小写形式,并去除停用词和标点符号。20、21、lucene默认根据匹配度对搜索结果降序排,如果对某个域进行排序。 对搜索产生的结果可以进行如下的排序操作: 1、按照相关性进行排序(默认) 2、根据域值进行排序 3、根据文档索引顺序进行排序4、通过多个域进行排序5、自定义排序22、跨度查询 Lucene允许按照词在文本中的距离或者查询几个相邻词的查询。打个比方:如“中华人民共和国” 用“中国“做为搜索条件,经过分析器处理得到语汇单元为”中、国”, 跨度为某个值,如5。跨度代表 中 和国之间的长度。 Lucene是使用SpanQuery类来实现跨度查询功能。其有6个子类,分别表示各种跨度查询: SpanTermQuery:词距查询的基础,结果和TermQuery相似,只不过是增加了查询结果中单词的距离信息。 SpanFirstQuery:在指定距离可以找到第一个单词的查询。 SpanNearQuery:查询的几个语句之间保持者一定的距离。 SpanOrQuery:同时查询几个词句查询。 SpanNotQuery:从一个词距查询结果中,去除一个词距查询。 SpanOrQuery:跨度查询的聚合匹配。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号