Published at April 5, 2020 · 1 min read
ElasticSearch 简介 ElasticSearch 是什么 ElasticSearch 是分布式的搜索和分析引擎。它可以为各种类型的数据提供接近实时的搜索和分析功能,不管是结构化的还是非结构化的文本,数值型数据或者地理位置数据,ElasticSearch 可以有效的存储和索引。 下面列出一些可以使用 ElasticSearch 的场景: 给网站或者 APP 添加搜索功能 存储和分析日志,系统指标和安全事件数据 使用机器学习实时自动化建模数据行为 把 ElasticSearch 当做存储引擎自动化业务流程 用来做地理位置信息系统(GIS),存储分析空间信息 用来做生物信息研究工具 等等,总而言之真的很强大 数据存入: 文档和分片 相较于列数据的行存储,ElasticSearch 使用可以被序列化成 JSON 文档的复杂的数据结构,当你有一个有多节点的群时,存储的文档会被分布到集群的每个节点上,每个节点都可以访问到你存储的数据。 当文档被存储在 ElasticSearch 后,你可以在 1 秒钟之内搜索到它。原因是因为它使用一种叫倒排索引的数据结构,倒排索引支持快速的全文搜索。倒排索引会列出文档中出现的每个单词,并且标识单词出现的所有文档。这有有一段维基百科的解释比较清楚的介绍了倒排索引的原理。 以英文为例,下面是要被索引的文本: T0 = “it is what it is” T1 = “what is it” T2 = “it is a banana”...