一、ES是一个基于Lucene的分布式的搜索服务器。
- ES提供了一个分布式多用户能力的全文搜索引擎
- ES是用Java语言开发的,是一个流行的企业级搜索引擎。
- ES用于云计算中,能够达到一个实时搜索,稳定,可靠,快速,安装使用方便。
- ES具有一定的水平伸缩性
- 可对大量的数据进行搜索,分析和探索
- ES的实现原理为:首先用户先将数据放到ES数据库中,再通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据,当用户搜索数据的时候,再根据权重将结果排名,打分,再将返回结果呈现给用户。
- ES是支持实时GET请求,适合作为NOSQL数据存储,但是缺少分布式事务。
二、 ES是一个分布式的文档存储。
- ES可以存储和检索复杂的数据结构,一个对象被序列化成为JSON文档,以实时的方式。也就是说只要有一个文档存在了ES中,集群中的任意节点都可以检索到此文档。
- ES中,每个字段的所有数据都是默认被索引的,也就是每个字段都有为了快速检索设置的专用倒排索引,并且二,相比较于其他数据库,ES可以再同一个查询中使用所有这些倒排索引,并且以惊人的速度返回结果。