网站内容描述,官方查企业信息的网站,网站开发一定得用html吗,贵州省住房和城乡建设厅查询网站1、简介
Elasticsearch是实时的分布式搜索分析引擎#xff0c;内部使用Lucene做索引与搜索。
何谓实时#xff1f;新增到 ES 中的数据在1秒后就可以被检索到#xff0c;这种新增数据对搜索的可见性称为“准实时搜索”。分布式意味着可以动态调整集群规模#xff0c;弹性扩…1、简介
Elasticsearch是实时的分布式搜索分析引擎内部使用Lucene做索引与搜索。
何谓实时新增到 ES 中的数据在1秒后就可以被检索到这种新增数据对搜索的可见性称为“准实时搜索”。分布式意味着可以动态调整集群规模弹性扩容而这一切操作起来都非常简便用户甚至不必了解集群原理就可以实现。按官方的描述集群规模支持“上百”个节点相比HDFS等上千台的集群这个规模“小了点”。影响集群规模上限的原因将在后续的章节中分析。因此目前我们认为ES适合中等数据量的业务不适合存储海量数据。
Lucene是Java语言编写的全文搜索框架用于处理纯文本的数据但它只是一个库提供建立索引、执行搜索等接口但不包含分布式服务这些正是 ES 做的。什么是全文对全部的文本内容进行分析建立索引使之可以被搜索因此称为全文。
基于ES你可以很容易地搭建自己的搜索引擎用于分析日志或者配合开源爬虫建立某个垂直领域的搜索引擎。ES 易用的产品设计使得它很容易上手。除了搜索ES 还提供了大量的聚合功能所以它不单单是一个搜索引擎还可以进行数据分析、统计生成指标数据。而这些功能都在快速迭代目前每2周左右就会发布新版本。
1.1、索引结构
ES是面向文档的。各种文本内容以文档的形式存储到ES中文档可以是一封邮件、一条日志或者一个网页的内容。一般使用 JSON 作为文档的序列化格式文档可以有很多字段在创建索引的时候我们需要描述文档中每个字段的数据类型并且可能需要指定不同的分析器就像在关系型数据中“CREATE TABLE”一样。
在存储结构上由_index、_type和_id唯一标识一个文档。
_index指向一个或多个物理分片的逻辑命名空间_type类型用于区分同一个集合中的不同细分在不同的细分中数据的整体模式是相同或相似的不适合完全不同类型的数据。多个_type可以在相同的索引中存在只要它们的字段不冲突即可对于整个索引映射在本质上被“扁平化”成一个单一的、全局的模式。_id文档标记符由系统自动生成或使用者提供。
1.2、分片(shard)
在分布式系统中单机无法存储规模巨大的数据要依靠大规模集群处理和存储这些数据一般通过增加机器数量来提高系统水平扩展能力。因此需要将数据分成若干小块分配到各个机器上。然后通过某种路由策略找到某个数据块所在的位置。