1、什么是Elasticsearch?
Elasticsearch 是基于 Lucene 的 Restful 的分布式实时全文搜索引擎,每个字段都被索引并可被搜索,可以快速存储、搜索、分析海量的数据。
全文检索是指对每一个词建立一个索引,指明该词在文章中出现的次数和位置。当查询时,根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。
2、ES使用场景
(1) 搜索引擎:用于快速检索文档、商品、新闻等。
(2) 日志分析:通过分析日志数据,帮助企业了解业务的性能情况。
(3) 实时监控:帮助企业实时检测系统性能、监控数据变化,以保证数据正常运行。
(4) 数据分析:帮助数据科学家和数据分析师进行数据分析,以获取有价值的信息。
(5) 商业智能:帮助企业制定数据驱动的决策,实现商业的成功。
(6) 安全性:帮助企业保证数据的安全性,保证数据不被非法窃取。
(7) 应用程序开发:帮助开发人员开发基于搜索的应用程序,以增加用户体验。
3、ES和数据库的对比
映射(Mapping):类比于MySQL中schema和数据库的设计(比如字段类型,长度…),ES中通过mapping定义哪些字段是否可以分词操作,哪些字段是否可以被查询等。
分片(Shards):类比于MySQL的水平分表,作用是容量扩容,提高吞吐量。
副本(Replicas):分片数据的副本,保障数据安全。
分配(allocation):将分片分给某个节点的过程(包括主分片和副本),有master节点完成。
4、倒排索引
倒排索引和传统的索引(正向索引)的结构相反,其优点在于它可以快速定位包含关键字的文档,而且支持复杂的搜索操作,如词组搜索、通配符搜索等,广泛应用于搜索引擎、日志分析、推荐系统等。
参考:
标签:入门,索引,搜索,分片,Elasticsearch,保证数据,ES From: https://www.cnblogs.com/yangms/p/17841171.html