ElasticSearch
什么是ElasticSearch,根据其中文文档可以简单定义为以下三点,与传统的关系型数据库还是有较大的区别。
l 一个分布式的实施文档存储,每个字段可以被索引与搜索
l 一个分布式实时分析搜索引擎
l 可以胜任上百个服务节点的扩展,并支持PB级别的结构化或者非结构化数据。
数据输入和输出
1. 文档的定义
在大多数应用中,多数实体或对象可以被序列化为包含健值对的JSON对象。一个健可以是一个字段或字段的名称,一个值可以是一个字符串、数字、布尔值和另外一个对象。
通常情况下,对象和文档是可以相互替换的。不过,有一个区别:一个对象仅仅是类似于hash、hashmap、字典或关联数组的JSON对象,对象中也可以嵌套其他的对象。对象可能包含了另外一些对象。文档是指最顶层或者跟对象,这个根对象被序列化成JSON并存储到ES中,指定了唯一的ID。
2. 文档元数据
一个文档不仅包含它的数据,也包含了元数据,元数据包括了有关文档的信息,有三个必须的元数据元素。_index(文档在哪存放) _type(文档表示的对象类别) _id(文档唯一标识)
l _index。
l _type。
l _id。是一个字符串,当它和_index以及_type组合就可以唯一确定ES中的一个文档。创建一个新的文档时,要么自己提供id,要么让ES帮你生成。
3. 索引文档
4. 取回一个文档
5. 检查文档是否存在
6. 更新整个文档