设为首页 收藏本站
查看: 1601|回复: 0

[经验分享] Solr in action学习笔记 第一章 介绍

[复制链接]

尚未签到

发表于 2015-7-19 00:35:43 | 显示全部楼层 |阅读模式
  *面对基于全球用户消费和产生的大数据,为了对用户请求及时响应,我们对非关系型数据存储和处理技术越来越关注。称为No SQL (Not only SQL )。对不同类型的数据有单独的存储和处理引擎。也就是说,NoSQL是对解决一类具体问题具体数据类型的优化。架构师组合多NoSQL和关系数据库。一种类型适应所有数据的时代已经过去了!
  *Apache Solr就是一种具体的NOSQL技术。Solr就是针对检索大规模文本并返回相关性排序的企业搜索引擎。基本特性
  *Scalable:可部署于多服务器的集群
  *Ready to deploy:提供完善的程序,可以立刻部署使用
  *Optimized for search:快速搜索复杂query的能力
  *Large volumes of documents:
  *Text-centric:对自然语言的检索内容优化
  *Results sorted by relevance:文档与query的相关性排序
  1.1 Why do I need a search engine?
  1.1.1 Managing text-centric data
  现代应用架构的特点是存储和处理引擎与你的数据相匹配。正如算法问题要选择合适的数据结构,Solr基于如下四个特点优化:
  1.Text-centric
  2.Read-dominant
  3.Document-oriented
  4.Flexible schema
  上述四条揭示了solr不是一种通用的数据存储和处理技术,而是关系数据库和NOSQL数据库基于搜索问题的补充!
  1.1.2 Common search-engine use cases
  优秀的搜索引擎的门槛bar?是高的
  应该把用户体验放在一个高的优先级
  *BASIC KEYWORD SEARCH
  是用户的最基本需求,必须提供最好的用户体验!  
  ■快速返回
  ■拼写检查
  ■自动关键词推荐,尤其对于移动应用
  ■query同义词识别
  ■与query同义的文档必须匹配
  ■语法处理:是匹配所有词还是任一个词
  ■停止词处理:a,an,the等
  ■如果对首页结果不满意,user可以看到更多的结果
*RANKED RETRIEVAL
  SQL返回要么匹配结果,Solr返回基于相关性排序的结果
  *BEYOND KEYWORD SEARCH
  用户对搜索需求不明确,Solr提供例如分类技术facet search帮助用户
  *DON 'T USE A SEARCH ENGINE TO ...
  Solr提供搜索分页技术,如过要求不分页但返回文档巨大,则会非常慢!(query结果很快,但生成结果很慢!)
  对索引结构的深度分析(除非你有很大的内存)?
  不提供文档相关性的query
  不提共文档级别的安全性,如果需求,则需要外部的程序
  1.2What is Solr?
  Solr不是网页搜索引擎如google,baidu
  Solr与SEO没有任何关系
  1.2.1Information retrieval engine
  基于apache lucene
  Information retrieval (IR) is finding material (usually documents) of an
unstructured nature (usually text) that satisfies an information need from
within large collections (usually stored on computers).
  solr使用lucene的索引和搜索库
  lucene倒排索引保存文档id和索引出现频率
DSC0000.png
  1.2.2Flexible schema management
  Lucene只提供核心库,如果要使用lucene,还需要大量的java编程。
  solr提供了方便的配置程序,只需要配置几个xml就可以运行搜索程序。
  1.2.3Java web application
DSC0001.png
  solr的分布式架构图
  solr提供基于http,xml,json等协议的服务,同时也提供各种流行编程语言的API。(主要使用Java的API——SolrJ)
  1.2.4Multiple indexes in one server
  但服务器可运行多个core
  1.2.5可扩展性:插件系统可以方便的定制需求
  1.2.6Scalable
  单机系统有局限
  solr提供缓存管理
  query吞吐量和索引文档数量
  吞吐量:通过复制索引,可以让多服务器处理query(实践中,处理能力不是线性增长的,例如3台服务器的处理能力可能是2.5)
  文档数量:将索引分成"shards"
  Solr可以部署到云平台的虚拟硬件上,但搜索是对内存和IO敏感的,如果对搜索性能有较高的要,则需要高端的硬件。
  1.2.7容错
  确保集群中部分服务器出错,solr还能正常运行
  1.3 Why Solr?
  1.3.1 Solr for the software architect
  稳定性,分布式,容错性都表现出色!
  SolrCloud使用Zookeeper管理分布式系统
  1.3.2Solr for the system administrator
  solr内置了Jetty,
  支持HTTP,JMX等等
  提供一个web管理界面
  1.3.3Solr for the CEO
  many companies are still running on Solr
  you can have it up and running in minutes
  Solr has a large support community,You also have access to the source code
  Solr doesn’t require much initial investment to get started.
  1.4Features overview
  1.4.1User-experience features:用户体验特性
  *Pagination and sorting:分页和排序:更快的显示,相关性排序
  *FACETING:层面搜索(分类):提炼搜索结果
  *AUTOSUGGEST:拼写推荐
  *SPELL - CHECKER:拼写检查
  *highlight
  *地图搜索
  1.4.2 Data-modeling features
  *RESULT GROUPING / FIELD COLLAPSING:基于文档的共同特征分组(不同于facet是基于field分组)
  例如相似内容的email将会分到一组
  *FLEXIBLE QUERY SUPPORT:
  Conditional logic using AND , OR , and NOT
  Wildcard matching
  Range queries for dates and numbers
  Phrase queries with slop to allow for some distance between terms?
  Fuzzy string matching:模糊匹配
  Regular expression matching
  Function queries
  *Join
  With Solr joins, you can return child documents of parents that match your search criteria. One example in which Solr joins are useful is returning all retweets of a Twitter message into a single response.
  *DOCUMENT CLUSTERING
  怎么又来了个聚类%>_

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-88058-1-1.html 上篇帖子: Solr相关概念详解:SolrRequestHandler 下篇帖子: Solr与MongoDB集成,实时增量索引
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表