lasticsearch是什么?
数据:文档和索引
Elasticsearch是一个分布式文档存储。Elasticsearch存储的是序列化为JSON文档的复杂数据结构,而不是以列行数据的形式存储信息。当集群中有多个Elasticsearch节点时,存储的文档分布在整个集群中,可以立即从任何节点访问。
当存储文档时,它几乎是实时的——在1秒内就可以被索引和完全搜索。Elasticsearch使用了一种名为反向索引的数据结构,它支持非常快速的全文搜索。反向索引列出任何文档中出现的每个惟一单词,并标识每个单词出现的所有文档。
可以将索引看作是文档的优化集合,每个文档是字段的集合,这些字段是包含数据的键值对。默认情况下,Elasticsearch对每个字段中的所有数据进行索引,每个索引字段都有一个专用的、优化的数据结构。例如,文本字段存储在倒排索引中,数字和地理字段存储在BKD树中。使用每个字段的数据结构来组装和返回搜索结果的能力是Elasticsearch如此快速的原因
Elasticsearch还具有无模式的能力,这意味着可以对文档进行索引,而不必显式地指定如何处理文档中可能出现的每个不同字段。当动态映射被启用时,Elasticsearch会自动检测并向索引添加新的字段。这种默认行为使得创建索引和浏览数据变得很容易——只要开始创建索引文档,Elasticsearch就会检测布尔值、浮点值和整数值、日期和字符串,并将它们映射到合适的Elasticsearch数据类型。
但是,最终,您比Elasticsearch更了解您的数据以及您想如何使用它。您可以定义规则来控制动态映射,并显式地定义映射来完全控制字段的存储和索引方式。
作者:我_976b
链接:https://www.jianshu.com/p/a74f29b753b3
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。