一、什么是Elasticsearch?
- ES是一个近实时分布式搜索和分析的引擎,它用于全文检索,结构化检索,分析。
- 全文检索:将非结构化数据中的一些数据提取出来,重新组织之后,变成有一定结构的数据,之后再去对此数据去做搜索,从而搜索起来较快一些。
- 结构化检索:更加具体的一些搜索,类似于,去搜索商品分类为日化用品的商品有哪些:select * from products where category_id=‘日化用品’。
- 数据分析:分析一下,最近电商网站,7天泡面商品销量排名前十的商家有哪些。
- ES是一个非关系型数据库。
- 数据是以JSON格式存储。
- ES数据库相比较于其他数据库而言,查询时效性较高一些,查询的灵活性也比较好,关联查询较弱一些,但是全文检索,DSL语言可以处理过滤,匹配,排序,聚合等各种操作;写入速度也较快一些。
- ES可以在容量和交互性上达到一个非常不错的平衡。
- 高并发访问,乐观锁。
- ES的副本机制保证了数据的可靠性,即使有节点宕机也可以保证数据不丢失。
- ES的可伸缩机制,加入或者删除节点可以自动负载均衡。