一、什么是ElasticSearch?
- 基于apache lucene构建的开源分布式搜索引擎
- 采用Java编写,提供简单易用的RESTFul API
- 轻松横向扩展,可支持PB级的结构化和非结构化数据处理
Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用Elasticsearch的水平伸缩性,能使数据在生产环境变得更有价值。
Elasticsearch 的实现原理主要分为以下几个步骤,首先用户将数据提交到Elasticsearch 数据库中,再通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据,当用户搜索数据时候,再根据权重将结果排名,打分,再将返回结果呈现给用户。
二、ES的应用场景
- 海量数据分析引擎
- 站内搜索引擎
- 数据仓库
三、环境要求
- IDE工具:IntelliJ IDEA、Eclipse等常用IDE即可
- Java:>=JDK1.8
四、学习建议
- 很多同学开始学习的时候,可能会因晦涩难懂的概念而最终放弃,我的建议是可以囫囵吞枣的先看一遍,不要求立马掌握,混个脸熟就可以,在看别人视频的时候最起码知道是什么。然后找一些免费的视频资料,这些资料一般会避开拗口的概念,先让你用起来,增强的信心,后面在讲原理,最终都会让你掌握这门技能。
- 学习过程切记不要着急,遇到不懂的地方尝试着理解,实在不懂就先跳过,先把整体资料学习完,有一个完整的概念,知道ES是什么,基本概念,基本用法,使用场景,在项目中先跑起来,解决实际问题,随着使用熟练程度的提高和理解的深入,最后再去理解和掌握基本原理。
- 当前软件版本升级很快,但是不管怎么升级,底层的大原理是基本不会变的。我们要拥抱变化,用功在90%的原理上,10%的时间关注更新就好了。
- 最后,希望大家掌握这种通用的学习方法,一通百通。
最后,欢迎大家关注我的个人公众号,我会把经历分享出来,助你了解圈内圈外事。
同时也欢迎大家添加个人微信【shishuai860505】,我拉大家进我的读者交流群。