搜索框架:lucene,Solr,Elastic Search 了解一下

下一篇:Elasticsearch 入门安装

1、lucene (了解)

apache 项目基金会的一个顶级项目(主要用于搜索)

1.2、什么是 Lucene

lucene 是一个开源的搜索架构,它的作者就是当前hadoop(大数据)的作者

Lucene core: 基于 Java 开发,包含了搜索库,包含了搜索索引,包含了关键字的高亮显示/分词器 ...

Solr: 借助于 lucene 进行开发的,就是使用lucene core 进行构建和开发的,并且提供了 json,py,ruby,java 各种API

PyLucene: 其实也支持 python

无论是ES还是Solr都是基于Lucene进行开发的

2、Solr (了解)

一个搜索框架,支持分布式,solr 是构建在 Lucene 之上的,所支持格式 json,xml,csv . . .

3、ElasticSearch

ES是一个分布式使用 RestFul 风格的数据搜索引擎,也是构建在 Lucene 之上的,且数据储存格式只支持 JSON 格式。

3.1、ES 的三大核心

Index: 相当于关系型数据库中的库

Type: 相当于关系型数据库中的表

Document: 相当于关系型数据库中的表数据

3.2、ES 和 Solr 的区别

  • 1、ES 下载以后直接可以使用;Solr 配置比较复杂

  • 2、Solr 使用 zookeeper 进行分布式的管理;ES 自身就带有分布式协调功能。

    zookeeper(3台)+Solr(2台)ES(2台)

  • 3、Solr 所支持的格式比较多(json,xml,csv . . .);ES只支持JSON数据格式。

  • 4、在 Solr 中的功能比较多,但是 ES 讲究职责单一化原则(更注重于搜索的核心功能)

    1、如果在ES上需要做一些拓展,高级特性需要第三方插件

    2、Solr自带的就有可视化界面,ES只能借助kibana做可视化支持

  • 5、Solr 查询效率快,但是索引更新的慢(查询,删除比较慢),适用于大型

    ​ 的传统查询

    • 淘宝:在项目运行之前,需要维护大量的商品数据(insert),这些数据用户不需要知道,也不需要特别高的效率,但是当用户进行查询的时候就必须要求效率

    ​ ES建立索引非常快,可以用于实时性的查询(Facebook)

    Solr一般情况下适用于传统的搜索应用,ES更实用于目前比较新兴的实时搜索应用

  • 6、Solr 比较成熟,客户量大 ;ES相比较客户量小,更新快,学习成本比 solr 更高一些

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值