搜索相关技术简介:lucene、solr、nutch、elasticSearch、LogStash、Kibana

1、前面3个大佬很早之前就听过:

  • lucene是一个文档索引、检索框架。
  • solr是一个基于lucene的搜索服务,目的就是要搞一个搜索引擎,提供http服务,支持json、xml、csv、二进制流等格式的输入输出。
  • nutch用于建立web搜索引擎,包括爬虫和全文搜索。

2、后面几个近几年很火,合称elk(没具体查什么时候出现的)

  • elasticSearch:也是基于lucene的,搞索引、搜索和统计,据说实时统计方面比solr要厉害
  • logstash主要是搜集,解析和转换日志,把各种格式转换成固定格式,方便es等软件去分析。
  • Kibana主要用于展示,提供了图标、表格、地图等组件

3、总结一下就是:

1)nutch和logstash用来搞数据
nutch是做爬虫,从外部采集数据。
logstash是做日志采集转换,从内部采集日志做分析。

说到爬虫,现在用python很多吧,python下的urllib、requests、crawler,都是爬虫神器。

2)lucene/solr/es做索引和搜索
lucene是鼻祖,但是比较底层,所以在lucene之上,又有了solr和es,这几个东西都是做索引、搜索。
solr和elasticsearch的区别(网上查的):

  • solr在索引的同时搜索,会很慢;不索引的时候搜索,则更快。
  • solr支持的格式更多,上面已经说过了;es则只提供json

3)Kibana做展示
看起来是跟echarts、highcharts之类差不多的东西,不过他实际上不是像echarts一样的组件,而是一个跟es配套的完整系统,包括了搜索、统计、监控的界面,甚至一些开发工具。搭建了elk之后,数据直接就可以在这里进行搜索和统计,而不是自己再开发一个前后台来展示。

搜索相关技术简介:lucene、solr、nutch、elasticSearch、LogStash、Kibana_第1张图片
Kibana的统计界面

4、划分

1)从用途上来划分,从下至上可以分为采集层、服务层、展示层

搜索相关技术简介:lucene、solr、nutch、elasticSearch、LogStash、Kibana_第2张图片
搜索常用框架分层

2)从框架的结合度上来说,可以分为两派

  • nutch和solr是一派,代表了老牌搜索
  • Es、logstash、Kibana是一派,简称elk,代表了新的潮流
  • nutch针对solr做了优化,nutch采集的东西,solr基本可以直接用
  • elk就不用说了。。从elk这个简称就知道这三个东西浑然天成,紧密结合
  • 不过万事无绝对,具体是还要看你的应用场景
搜索相关技术简介:lucene、solr、nutch、elasticSearch、LogStash、Kibana_第3张图片
搜索的两个派系
搜索相关技术简介:lucene、solr、nutch、elasticSearch、LogStash、Kibana_第4张图片
喜欢就关注一下吧

你可能感兴趣的:(搜索相关技术简介:lucene、solr、nutch、elasticSearch、LogStash、Kibana)