《搜索引擎解密》PPT课件.ppt
《《搜索引擎解密》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《搜索引擎解密》PPT课件.ppt(44页珍藏版)》请在三一办公上搜索。
1、搜索引擎解密,猎兔搜索罗刚,搜索引擎结构,Lucene是什么,包括全文索引库简单的语言解析功能不包括爬虫文档格式解析“PageRank”等排序算法,Lucene来源与发展,1999 Cutting 开发的第一个Java程序2001 捐赠给Apache2004年11月 版本2008年10月 版本2009年11月 版本,Lucene的用户,国际TwitterIBMLinkedIn 捐出分类统计的子项目bobo-browse和实时搜索的项目Zoie国内凤凰网敦煌网豆丁,人工编的名词索引-方便查找,全文索引结构,Lucene中的倒排索引,索引相关类,通过IndexWriter来写索引,通过IndexR
2、eader读索引。一段有意义的文字需要通过Analyzer分割成一个个词语后才能按关键词搜索。Analyzer就是分析器,StandardAnalyzer是Lucene中最常用的分析器。TokenStream实例保存着当前的Attribute状态。Attribute 是一个接口,实现中包含一个代表词本身含义的字符串和该词在文章中相应的起止偏移位置,Attribute还可以用来存储词类型或语义信息。一个Document代表索引库中的一条记录。要搜索的信息封装成Document后通过IndexWriter写入索引库。调用Searcher接口按关键词搜索后,返回的也是一个封装后的Document的列
3、表。一个Document可以包含多个列,叫做field。例如一篇文章可以包含“标题”、“正文”、“修改时间”等field,创建这些列对象以后,可以通过Document的add方法增加这些列。,Field(Body),Field(URL),Analyzer,Analyzer analyzer=new StandardAnalyzer();/or any other analyzerTokenStream ts=analyzer.tokenStream(myfield,new StringReader(some text goes here);while(ts.incrementToken()Sy
4、stem.out.println(token:+ts);,创建索引,/创建新的索引或者对已有的索引增加文档index=new IndexWriter(indexDirectory,new StandardAnalyzer(Version.LUCENE_CURRENT),!incremental,IndexWriter.MaxFieldLength.UNLIMITED);File dir=new File(sSourceDir);indexDir(dir);/索引路径 index.optimize();/索引优化 index.close();/关闭索引库,向索引增加文档,Document doc
5、=new Document();/创建网址列Field f=new Field(url,news.URL,Field.Store.YES,Field.Index.NOT_ANALYZED,/不分词 Field.TermVector.NO);doc.add(f);/创建标题列f=new Field(title,news.title,Field.Store.YES,Field.Index.ANALYZED,/分词 Field.TermVector.WITH_POSITIONS_OFFSETS);/存Token位置信息doc.add(f);/创建内容列f=new Field(body,news.bo
6、dy,Field.Store.YES,Field.Index.ANALYZED,/分词 Field.TermVector.WITH_POSITIONS_OFFSETS);/存Token位置信息doc.add(f);index.addDocument(doc);,搜索,/read-only=trueIndexSearcher isearcher=new IndexSearcher(directory,true);/Parse a simple query that searches for text:QueryParser parser=new QueryParser(Version.LUCEN
7、E_CURRENT,fieldname,analyzer);Query query=parser.parse(text);/返回前1000条搜索结果ScoreDoc hits=isearcher.search(query,1000).scoreDocs;/遍历结果for(int i=0;i hits.length;i+)Document hitDoc=isearcher.doc(hitsi.doc);System.out.println(hitDoc.get(fieldname);isearcher.close();directory.close();,常用查询,区间查询,查询语法:time:
8、2007-08-13T00:00:00Z TO 2008-08-13T00:00:00Z 调用代码:ConstantScoreRangeQuery dateQuery=new ConstantScoreRangeQuery(time,t1,t2,true,true);,2.9以前版本区间查询的问题,RangeQuery采用扩展成TermQuery来实现,如果查询区间范围太大,RangeQuery会导致TooManyClausesExceptionConstantScoreRangeQuery 内部采用Filter来实现,当索引很大的时候,查询速度会很慢,Trie结构实现的区间查询,在Lucen
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 搜索引擎解密 搜索引擎 解密 PPT 课件

链接地址:https://www.31ppt.com/p-5516794.html