Elasticsearch是一个高度可扩展的开源搜索引擎且使用REST API,现在在数据处理领域得到了广泛使用。
在Elasticsearch中,数据的逻辑单元称为index(类似数据库中的表),而其中的数据称为document(类似数据库中的一行数据)。当我们把数据load到Elasticsearch时,例如load一个json文件,该文件中的数据会被load到一个index中,且一行json数据成为一个document。而每个value需要被自动映射到datatype上,这个过程是Elasticsearch自动完成的,称为dynamic mapping。其有两个特点:
1,为了数据安全,在映射时总是使用尽可能长的数据类型。例如一个电话号码字段,由于Elasticsearch不知道这个字段的含义,为了不会发生数据被截取的情况,Elasticsearch使用char(4000)来存储这个字段。但实际上并没有这个必要。
2,对于字符串类型的数据,Elasticsearch自动为其建立倒排和B-tree两个索引。但实际上可能仅需要其中一个。
使用Elasticsearch只能发送http请求。Elasticsearch中对数据的操作就是对http资源的操作,因此对应http的4种method:
select -> get或post
insert -> put
update -> post
delete -> delete
发出request之后,Elasticsearch返回response。response也是标准的http response,其中的状态码标识了操作的结果。
可以用如下两种方式和Elasticsearch交互:
1,在Chrome中安装名为Ela