【菜鸟小屁的成长日记】之ElasticSearchElasticsearch<入门>篇

一、Elastic Search的优缺点

Elasticsearch是一个实时分布式搜索和分析引擎。它拥有如下的优点

1、ElasticSearch是一个实时分布式搜索和分析引擎擅,擅长处理大规模的数据。在面对海量数据时,性能会有显著提升。而这是因为Elasticsearch是面向文档(document oriented)的,这意味着它可以存储整个对象或文档(document)。然而它不仅仅是存储,还会索引(index)每个文档的内容使之可以被搜索。在Elasticsearch中,你可以对文档(而非成行成列的数据)进行索引、搜索、排序、过滤。

2、ElasticSearch采用Lucene作为他的库,无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

3、ElasticSearch具有很好的横向可扩展性:只需要增加一台服务器,做一点儿配置,启动一下ES进程就可以并入集群;分片机制提供更好的分布性,同一个索引分成多个分片,这保证了文本也可以被索引到;另外Elasticsearch提供复制机制,一个分片可以设置多个复制,使得某台服务器宕机的情况下,集群仍旧可以照常运行,并会把由于服务器宕机丢失的复制恢复到其它可用节点上。

4、在对数据库进行写操作的时候,实例间做下配置即可扩展并发性,可以自动分配的写入机制,无需操心传统db中多主同步的诟病。

5、通过传递JSON(JavaScript Object Notation)的方式,可以在服务器端实现复杂的查询条件,group by、排序、聚合、在线云分析这些操作都不是问题。甚至可以通过复杂的json实现云计算的功能。

同样ElasticSearch也有如下的缺点

1、不支持事物操作。

2、由于ElasticSearch时即时的操作,因此具有一定的延时性,官方以前也自己称自己为Near-Realtime(近乎实时性)的。频繁的读写操作需要一定的时间,当然时间很短基本是秒级甚至是毫秒级的。

3、没有像MySQL一样的权限管理机制。


二、Elastic Search的组成
1、cluster(集群):一个集群由多个节点组成,这些节点共同持有整个数据,并一起提供索引和搜索功能。
2、nodes(节点):集群之中的服务器.作为集群的一部分存储数据,并参与集群的索引和搜索功能。
3、index(索引):拥有相似特征的文档的集合。任何一个集群可以定义任意多的索引。
4、type(类型):一个索引之中可以定义一个或多个类型。类型时索引在逻辑上的一个分类(分区)。
5、document(文档):文档时可以被索引的基础信息单元。通常以JSON的格式存储在服务器上。

例如一个可能存在的文档形式:
{
    "first_name" : "John",
    "last_name" :  "Smith",
    "age" :        25,
    "about" :      "I love to go rock climbing",
    "interests": [ "sports", "music" ]
}

其中"first_name","last_name","age","about","interests"都是这个文档之中的field,以key—value的形式存储在该document之中。





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值