ImageVerifierCode 换一换
格式:DOC , 页数:9 ,大小:426.50KB ,
资源ID:3534098      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3534098.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(LuceneSolor简介.doc)为本站会员(sk****8)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

LuceneSolor简介.doc

1、Why Lucene/Solr1 / 9Why Lucene/SolrJames Tang()1.简介搜索引擎已经为几乎所有人所熟知,像 Google, 百度这样的公共搜索引擎几乎成了日常互联网消费品。但搜索引擎背后的技术很少有人关心,而搜索引擎技术也并不像使用 Google 那样简单直接,在 Google 首页的输入框中输入关键字之后,需要成千上万的服务器经过多道工序才能返回我们需要的结果。虽然我们在此并不打算讨论 Google 这样的复杂的系统,但搜索引擎的工作基本原理有必要在此讨论一下,以为下面的讨论提供一点基础。搜索引擎所涉及到的技术包括数据结构、数据分析、数据处理、数据存储及搜索等,

2、这些技术统称为数据检索(Information retrieval, IR)1。搜索引擎的种类众多,用途各异,但我们这里专注于 Web 搜索引擎。一个完整的 Web 搜索引擎由多个部分组成,如图一所示:图一 搜索引擎基本架构图一中红色部分是本文讨论的重点,也是 Lucene/Solr 的核心,浅蓝色部分为应用需要考虑的部分。在构建文档阶段,需要考虑的主要技术有分词(Tokenizing) 、停用词(Stopping word) 、词干分析(Stemming)等,这些技术要素也是我们首要考虑的因素。除此以外,还有链接抽取及分析、语义分析、信息分类等技术是其它公共搜索引擎需要重点考虑的问题。在索引

3、建立阶段,主要技术有文档统计、权重、转换(Inversion)等。Why Lucene/Solr2 / 9在查询处理阶段,需要考虑查询结语评级(Ranking) ,性能评估等。1.1. LuceneLucene2是一个基于 Java 开发的免费、开源、高性能、可扩展的 IR 程序库,并且是目前应用最为广泛的 IR 程序库。很多人可能误认为 Lucene 是一个可以马上使用的搜索程序,而事实上 Lucene 仅仅是提供了简单而又强大的索引与搜索功能的搜索组件。Lucene 并不关心数据源、数据格式、甚至数据的语言,Lucene 更不会关心搜索的界面会是怎样,这些工作都是由基于 Lucene 的程

4、序来完成,因此 Lucene 使用于几乎所有以文本内容为主的数据检索功能,全球成千上万、类型各异、数据规模从少量到海量的应用与网站的成功案例3,足以证实这一点。1.2. SolrSolr4是基于 Lucene 的功能较为完善的企业级搜索服务器。前面提到 Lucene 主要实现索引和查询的核心功能及 API,但并不是一个完整的产品,而 Solr 实现了一些常用扩展并提供基于 HTTP 的 Web 服务,并且提供灵活的 Schema 配置、多核心支持、面搜索(Faceted Search)等。对于不是以 Java 为主要开发语言的项目来说,Solr 可以非常快速、有效地集成搜索服务。1.3. IK

5、 AnalyzerIK Analyzer5, 是一个开源的,基于 java 语言开发的轻量级的中文分词工具包。它是以开源项目Luence 为应用主体的,结合词典分词和文法分析算法的中文分词组件。从 3.0 版本开始,IK 发展为面向Java 的公用分词组件,独立于 Lucene 项目,同时提供了对 Lucene 的默认优化实现。在 2012 版本中,IK 实现了简单的分词歧义排除算法,标志着 IK 分词器从单纯的词典分词向模拟语义分词衍化。2.特性Lucene 最主要特性总结如下: 适应所有全文索引与搜索的能力 内部逻辑采用文本域(fields of text)的文档结构,使 API 不依赖于

6、数据源格式,所以灵活性高 适应网络、本地等多种应用搜索需求 技术成熟,得到广泛验证及认可Solr 基于 Lucene,所以除了具有以上特性外,还具备: 面搜索(Faceted search)支持 关键字高亮(Highlight) 多种 HTTP 输出格式支持,包括 JSON, XML, PHP, Ruby, Python, XSLT 等 Web 管理界面Why Lucene/Solr3 / 9 多服务器数据复制(Replication) 提供良好 QPS(Queries Per Second)扩展 内容分区(Sharding)搜索支持提供良好的容量扩展 支持基于 Carrot26的搜索集群服务

7、 支持扩展插件,如 IK Analyzer 缓存支持(Caching )IK Analyzer 在中文分词方面主要有以下特性: 采用了特有的“正向迭代最细粒度切分算法“,支持细粒度和智能分词两种切分模式 高速中文分词处理能力 智能分词模式支持简单的分词排歧义处理和数量词合并输出 采用多子处理器分析模式,支持英文字母、数字、中文词汇等分词处理,兼容韩文、日文字符 优化的词典存储,更小的内存占用 支持用户词典扩展定义 词典支持中文,英文,数字混合词语3.性能由于我们的系统架构将采用 Solr 而不是直接基于 Lucene 开发,但 Solr 核心是 Lucene 所以 Lucene 的性能测试也至

8、关重要。下面是来自第三方7的测试结果可供参考,该结果不仅对 Lucene 作了性能测试,还与其它搜索引擎作了对比。图二为技术及总体评级。图二 Lucene 及其它搜索引擎程序总体对比3.1. 索引性能下面图三是7基于 Twitter 数据的索引测试结果,从图中可以看出,在7的测试环境下,索引速度在1427KB/s,在没有测试环境信息的情况下,从对比结果可以看出 Lucene 索引速度是表现不错的。另外注意到,Lucene 的索引大小是唯一一个小于源数据大小的,因此综合表现应该是很出色的。Why Lucene/Solr4 / 9图三 Lucene 及其它搜索引擎索引测试对比3.2. IK Ana

9、lyzer 性能下面是来自官方的测试数据: CPU: Core2 i7 3.4G 双核, 内存:4G, 操作系统:Window 7 64 位 Java:Sun JDK 1.6_29 64测试结果: 160 万字/秒(3000KB/S)从测试结果可以估计,IK Analyzer 完全能满足大规模索引分词的需求,并不会对 Solr 索引速度造成明显影响。3.3. 查询性能对于查询我们主要关心查询速度及搜索结果相关度,图四是7的查询测试结果及基于 TREC-9 的查询相关性分析。从图中看出虽然 Lucene 的查询速度不是最快,但表现也很好。特别注意到相关性是最好的(2 为最相关,1 为比较相关,0

10、 为完全不相关) ,从综合表现可以看出 Lucene 表现依然很出色。Why Lucene/Solr5 / 9图四 Lucene 及其它搜索引擎索引测试对比另外对于查询性能,我们基于我们的测试环境进行了本地测试,以便对7的测试结果有一个更直观的认识。下面测试数据来自我们的测试服务器,该测试服务器的基本配置如下: CUP:1 个 Intel(R) Xeon(R) E5606 2.13GHz,4 核心 RAM:8GB, 测试时可用内存 2.9GB 硬盘:500G, RAID 1 操作系统:CentOS 6.3 x64 Java 版本: OpenJDK 1.6.0_24 Servlet 容器:Tom

11、cat 6但由于该服务器同时运行了多个服务(如 DNS, MySQL, Nginx, JIRA 等) ,同时为了避免影响其它服务正常运行,并且由于时间关系没有进行长时间压力测试,所以测试数据仅供参考,在实际生产环境中,Solr一般采用独立一台或多台服务器,因此性能要优于我们的测试服务器。下面测试以一次常规查询为基准,测试时 Solr 索引数量及主要配置如图五所示:Why Lucene/Solr6 / 9图五 测试服务器 Solr 索引状态 索引数量:51 万(如图五 numDocs 所示) 测试工具:Apache Benchmark 2.3 测试 URL: http:/qikan.dev:80

12、80/solr/qikan/select/?rows=100&version=2.2&indent=on&wt=json&fq=meta_class_identifier_ms:magazine_article&sort=meta_published_dt+desc&q=*%3A*&start=0&rows=10&fl=attr_author_t,attr_title_t,meta_main_node_id_si,meta_main_path_string_ms,meta_main_parent_node_id_si,meta_published_dt,meta_id_si,meta_node

13、_id_si 一次查询数量:100 条 文档大小:3210KB图六是一次测试结果示例,本次测试请求数量为 1000,并发为 1:图六 Solr AB 测试结果示例(n=1000, c=1)上面的测试经过多次反复测试(分别更行了请求次数 n=1000, 10000, 100000,并发 c=1, 100, 500的测试) ,同一请求数量及并发的结果基本一致(第次结果误差没有超过 1ms) 。从我们的测试结果看出,在我们的测试服务器上,第次请求时间为 12.360ms,与7 的测试结果 0.02168s,即 21.68ms 相比快很多,说明7 的测试环境定不优于我们测试服务器。因此我们有足够的信心

14、相信 Lucene/Slor 在生产环境中有出色的表现。Why Lucene/Solr7 / 9图六 Solr AB 测试结果示例(n=9000, c=100)4.扩展性扩展性我们主要需要考虑因素为 Solr 能否满足用户规模的增长、能否满足新功能的实现。事实上 Solr充分考虑到了这些因素,总结如下: Lucene/Solr 提供了分词接口及插件扩展功能,可以根据需求实现自定义的分词分析器 Lucene/Solr 支持非常灵活的查询语法及查询接口,可以快速方便地实现不同的搜索功能 当用户量增加时,可以方便地通过 Solr 集群及内容分区来实现 QPS 及容量扩展5.灵活性灵活性对于搜索引擎而

15、言,主要应该体现在对数据多种数据源的支持、快速的响应需求变化、提供个性化的查询接口等。在此我们一一讨论 Solr 这灵活性方面的表现,但并不局限于以下方面: 丰富的灵活的查询语法 基于 XML 的 Solr Schema 及动态域(Fields)支持 基于域及值区间的面搜索(Faceted search)Why Lucene/Solr8 / 96.成本第一,Lucene/Solr 为免费开源产品,因此无须任何产品授权费用。第二,虽然 Lucene/Solr 为开源产品,但已经非常成熟、稳定、可靠,因此完全可以依赖。第三,经过多年的发布,Lucene/Solr 已经有非常丰富的应用经验及社区支持

16、,所以大部分问题都能快速得到解决。第四,服务器没有特殊要求。最后,Lucene/Solr 开发与部署并不复杂,可以快速实现搜索应用。基于以上几点,无论是在开发周期、硬件、人员配置方面都没有高昂的成本,相反,比自主研发或购买商业方案成本更低。7.谁在用不是诉诸权威,而是为了强调 Lucene/Solr 的灵活性、可扩展性。任何公司及个人在选择产品时首选当然是成熟、认可度高、稳定性好的产品。这些成功案例不仅为我们采用 Lucene/Solr 提供了足够信心依据,同时也是很好的应用参考及借鉴。IBM 的多种产品,如 DeveloperWorks 都有少量内容提供给内部及全球用户使用,其搜索服务采用了

17、 Lucene很好地实现各种搜索功能。AOL 第天有大量的新闻内容需要索引,Solr 同样能够满足其需求。LinkedIn 是全球最大的职业社交网络,而其庞大的用户关系网络、内容数据搜索都是基于 Lucene 来完成的。Twitter 是微博的始祖,他基于 Lucene 实现在实时内容搜索。8.参考1 Search Engines: Information Retrieval in Practice, W.Bruce Croft, Donald Metzler, Trevor Strohman2 Lucene Home Page, http:/lucene.apache.org/3 Appli

18、cations and web applications using Lucene, http:/wiki.apache.org/lucene-java/PoweredBy4 Solr Home Page, http:/lucene.apache.org/solr/5 IK Analyzer Project, http:/ Carrot2, http:/project.carrot2.org/7 A Comparison of Open Source Search Engines, Christian Middleton, Ricardo Baeza-Yates, http:/wrg.upf.

19、edu/WRG/dctos/Middleton-Baezahttp:/wrg.upf.edu/WRG/dctos/Middleton-Baeza.pdfWhy Lucene/Solr9 / 98 TREC9, http:/trec.nist.gov/pubs/trec9/t9_proceedings.html Solr wiki, http:/wiki.apache.org/solr/FrontPage A Comparison of Open Source Search Engines, Vik Singh, http:/ Public Websites using Solr, http:/wiki.apache.org/solr/PublicServers

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。