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

[经验分享] 搜索引擎solr和elasticsearch

[复制链接]

尚未签到

发表于 2017-12-18 21:16:13 | 显示全部楼层 |阅读模式
  刚開始接触搜索引擎,网上收集了一些资料。在这里整理了一下分享给大家。
一、关于搜索引擎
  搜索引擎(Search Engine)是指依据一定的策略、运用特定的计算机程序从互联网上搜集信息。在对信息进行组织和处理后,为用户提供检索服务。将用户检索相关的信息展示给用户的系统。
  搜索引擎包含全文索引、文件夹索引、元搜索引擎、垂直搜索引擎、集合式搜索引擎、门户搜索引擎与免费链接列表等。
  一个搜索引擎由搜索器 、索引器 、检索器 和用户接口 四个部分组成。搜索器的功能是在互联网 中漫游,发现和搜集信息。索引器的功能是理解搜索器所搜索的信息,从中抽取出索引项。用于表示文档 以及生成文档库的索引表。
  检索器的功能是依据用户的查询在索引库中高速检出文档,进行文档与查询的相关度评价,对将要输出的结果进行排序。并实现某种用户相关性反馈机制。用户接口的作用是输入用户查询、显示查询结果、提供用户相关性反馈机制。
  ——以上文字百度百科(点击我跳转到相应页面)。很多其它相关搜索引擎介绍请看该文章,如全文搜索引擎、文件夹索引类搜索引擎、元搜索引擎的差别。
二、Lucene
  solr和elasticsearch都是基于Lucene实现的。因此这里有必要对Lucene进行介绍。
  Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构。提供了完整的查询引擎和索引引擎。部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发者提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能。或者是以此为基础建立起完整的全文检索引擎。Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供。
  Lucene提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻。在Java开发环境里Lucene是一个成熟的免费开源工具。
  就其本身而言,Lucene是当前以及近期几年最受欢迎的免费Java信息检索程序库。人们常常提到信息检索程序库,尽管与搜索引擎有关,但不应该将信息检索程序库与搜索引擎相混淆。
  Lucene是一个全文检索引擎的架构。那什么是全文搜索引擎?
  全文搜索引擎是名副事实上的搜索引擎,国外具代表性的有Google、Fast/AllTheWeb、AltaVista、Inktomi、Teoma、WiseNut等,国内著名的有百度(Baidu)。它们都是通过从互联网上提取的各个站点的信息(以网页文字为主)而建立的数据库中。检索与用户查询条件匹配的相关记录。然后按一定的排列顺序将结果返回给用户。因此他们是真正的搜索引擎。
  从搜索结果来源的角度,全文搜索引擎又可细分为两种。一种是拥有自己的检索程序(Indexer),俗称“蜘蛛”(Spider)程序或“机器人”(Robot)程序,并自建网页数据库,搜索结果直接从自身的数据库中调用。如上面提到的7家引擎;还有一种则是租用其它引擎的数据库,并按自定的格式排列搜索结果,如Lycos引擎。
三、solr
  Solr是一个基于Lucene的Java搜索引擎server。Solr 提供了层面搜索、命中醒目显示并且支持多种输出格式(包含 XML/XSLT 和 JSON 格式)。它易于安装和配置。并且附带了一个基于 HTTP 的管理界面。Solr已经在众多大型的站点中使用。较为成熟和稳定。
  Solr 包装并扩展了 Lucene,所以Solr的基本上沿用了Lucene的相关术语。更重要的是,Solr 创建的索引与 Lucene 搜索引擎库全然兼容。
  通过对Solr 进行适当的配置。某些情况下可能须要进行编码。Solr 能够阅读和使用构建到其它 Lucene 应用程序中的索引。此外。非常多 Lucene 工具(如Nutch、 Luke)也能够使用Solr 创建的索引。
  介绍性文字过多。非常多东西实际操作过就会好理解非常多。这里推荐一篇不错的入门文章:Solr开发文档
  书籍推荐一本不错的书籍:《Lucene In Action》有中文版的
四、elasticsearch
  Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。不管在开源还是专有领域。Lucene能够被觉得是迄今为止最先进、性能最好的、功能最全的搜索引擎库。
  可是,Lucene仅仅是一个库。
  想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,更糟糕的是,Lucene非常复杂,你须要深入了解检索的相关知识来理解它是怎样工作的。
  Elasticsearch也使用Java开发并使用Lucene作为其核心来实现全部索引和搜索的功能。可是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。
  由于博主后面主要了解学习elasticsearch,因此对elasticsearch有很多其它的学习资料推荐。
  两篇网页版教程,十分全面:
  http://es.xiaoleilu.com/010_Intro/10_Installing_ES.html
  http://udn.yyuap.com/doc/mastering-elasticsearch/chapter-5/54_README.html
  安装插件:
  http://blog.csdn.net/wenqisun/article/details/47952199
  一篇非常不错的文章(必看):
  http://www.aboutyun.com/thread-17078-1-1.html
  Elastic中文社区:http://elasticsearch.cn/
  elasticsearch 集群搭建(建议选择比較低版本号搭建):
  http://my.oschina.net/xiaohui249/blog/228748
  五类Elasticsearch扩展性插件推荐:
  http://cloud.51cto.com/art/201505/476450.htm
五、solr和elasticsearch比較
  Elasticsearch 与 Solr 的比較总结
  二者安装都非常easy。
  Solr 利用 Zookeeper 进行分布式管理,而 Elasticsearch 自身带有分布式协调管理功能;
  Solr 支持很多其它格式的数据,而 Elasticsearch 仅支持json文件格式。
  Solr 官方提供的功能很多其它,而 Elasticsearch 本身更注重于核心功能,高级功能多有第三方插件提供;
  Solr 在传统的搜索应用中表现好于 Elasticsearch,但在处理实时搜索应用时效率明显低于 Elasticsearch。
  Solr 是传统搜索应用的有力解决方式,但 Elasticsearch 更适用于新兴的实时搜索应用。
  两者对照更具体介绍请看例如以下文章:
  http://www.cnblogs.com/chowmin/articles/4629220.html

运维网声明 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-425508-1-1.html 上篇帖子: HBase协处理器同步二级索引到Solr 下篇帖子: solr全量索引
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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