欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《搜索引擎解密》PPT课件.ppt

    • 资源ID:5516794       资源大小:490.50KB        全文页数:44页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《搜索引擎解密》PPT课件.ppt

    搜索引擎解密,猎兔搜索罗刚,搜索引擎结构,Lucene是什么,包括全文索引库简单的语言解析功能不包括爬虫文档格式解析“PageRank”等排序算法,Lucene来源与发展,1999 Cutting 开发的第一个Java程序2001 捐赠给Apache2004年11月 版本2008年10月 版本2009年11月 版本,Lucene的用户,国际TwitterIBMLinkedIn 捐出分类统计的子项目bobo-browse和实时搜索的项目Zoie国内凤凰网敦煌网豆丁,人工编的名词索引-方便查找,全文索引结构,Lucene中的倒排索引,索引相关类,通过IndexWriter来写索引,通过IndexReader读索引。一段有意义的文字需要通过Analyzer分割成一个个词语后才能按关键词搜索。Analyzer就是分析器,StandardAnalyzer是Lucene中最常用的分析器。TokenStream实例保存着当前的Attribute状态。Attribute 是一个接口,实现中包含一个代表词本身含义的字符串和该词在文章中相应的起止偏移位置,Attribute还可以用来存储词类型或语义信息。一个Document代表索引库中的一条记录。要搜索的信息封装成Document后通过IndexWriter写入索引库。调用Searcher接口按关键词搜索后,返回的也是一个封装后的Document的列表。一个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()System.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=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.body,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.LUCENE_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: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结构实现的区间查询,在Lucene2.9以后的版本中,用Trie结构索引日期和数字等类型。例如:把521 这个整数索引成为:百位是5、十位是52、个位是521。这样重复索引的好处是可以用最低的精度搜索匹配区域的中心地带,用较高的精度匹配边界。这样减少了要搜索的Term数量。,Trie结构区间查询,例如:TrieRange:423 TO 642分解为5个子条件来执行:handreds:5 OR tens:43 TO 49 OR ones:423 TO 429 OR tens:60 TO 63 OR ones:640 TO 642,查询语法,加权 solr4 lucene修饰符+-NOT+solr lucene 布尔操作符 OR AND(solr OR lucene)AND user按域查询 title:NBA,QueryParser,QueryParser将输入查询字串解析为Lucene Query对象。QueryParser是使用JavaCC(Java Compiler Compiler)工具生成的词法解析器。QueryParser.jj中定义了查询语法。需要让QueryParser更好的支持中文,例如全角空格等?,Filter,可以定义Filter类来过滤查询结果。也可以缓存和重用Filter。如下条件可用Filter来实现:根据不同的安全权限显示搜索结果;仅查看上个月的数据;在某个类别中查找。,BestDriversFilter,BestDriversFilter 把结果限定到score 是5 的司机。public class BestDriversFilter extends FilterOverride public DocIdSet getDocIdSet(IndexReader reader)throws IOException OpenBitSet bitSet=new OpenBitSet(reader.maxDoc();TermDocs termDocs=reader.termDocs(new Term(score,5);while(termDocs.next()bitSet.set(termDocs.doc();return bitSet;,使用Filter,Filter bestDriversFilter=new BestDriversFilter();/query不变,增加bestDriversFilterScoreDoc hits=isearcher.search(query,bestDriversFilter,1000).scoreDocs;/返回的结果可能比以前少了,分类统计(Faceted Search),Filter实现的分类统计,String cats=001004003,001008003021,001004014;/类别数组long catCounts=new longcats.length;/分类统计结果/原始查询Filter all=new QueryWrapperFilter(q);/用AND逻辑合并FilterChainedFilter.DEFAULT=ChainedFilter.AND;for(int i=0;icats.length;+i)/分类统计查询条件 Filter these=new QueryWrapperFilter(new TermQuery(new Term(cat,catsi);ChainedFilter chainedFilter=new ChainedFilter(new Filterall,these);/取得Filter中的BitSet的1 的个数 catCountsi=chainedFilter.getCardinality(reader);return catCounts;,Solr vs Sphinx,Sphinx速度很快,但是不支持索引复制和分发。有单点失败的问题 Sphinx不支持搜索结果的高亮显示 Sphinx没有对搜索结果的缓存个人结论:Sphinx功能简单,速度快,Solr速度慢点,但功能更全。,Solr起源,Lucene仅仅是一个全文检索包,不是一个独立的搜索服务Solr来源于CNET.com的内部数据库检索项目Solr的含义是:Searching On Lucene w/Replication Solr当前主要主要代码维护者Yonik斯坦福大学硕士毕业,Solr发展过程,2004秋天,CNET启动Solr项目的前生Solar2005夏天,CNET产品目录搜索开始使用Solar2006年1月捐赠给Apache2007年1月Solr毕业成为Lucene的子项目并发布1.2版本2008年9月发布 版本2009年11月发布1.4版本,Solr用户,国际AOLCNETDisneyApple,Inc.国内阿里巴巴安居客新聚思(SYNNEX),Solr搜索服务器的特点,是Web Server中的Servlet积极的缓存(自动加载搜索热词等)Web管理界面XML/HTTP,JSON 接口Faceting(分类统计搜索结果)通过Schema配置文件定义types 和 fields为了并发访问,实现主从式的索引复制,使用Solr搜索服务器,Java客户端-SolrJ通过Java 二进制格式快速返回结果.Net客户端-SolrSharpPHP客户端-“solr-php-client”,Schema.xml,Schema.xml,指定id为唯一列id指定body为默认搜索列。body,solrconfig.xml,用来配置solr运行的系统参数,例如缓存,插件等。预热搜索数量最好少于CPU核数量4,增加数据,HTTP POST to http:/localhost:8983/solr/update/05991BridgewaterPerlJava.,更新/删除数据,更新若增加文档的主键已经存在索引库中,则替换已有的。删除通过主键删除 05991通过查询删除 name:Anthony,Solr的后台管理界面,Solr后台查询实例,查询(Query),根据查询条件可以得到查询结果,例如*:*,查询条件,查询结果数,查询用时,Search,基本参数qt 查询类型(request handler),例如 standard wt 返回格式类型(response writer),例如xml或json公共参数q 查询词 sort 排序方式start-返回结果的开始行rows-本次需要返回结果的行数fl 需要返回的列名称,Faceted Search,http:/localhost:8983/solr/select?q=ipod&rows=0&facet=true&facet.limit=-1&facet.field=cat&facet.mincount=1&facet.field=inStock0312331,搜索界面,检索案例,(前端.net),(前端PHP),商业支持,LuceneSolr,谢谢!,

    注意事项

    本文(《搜索引擎解密》PPT课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开