1.什么是ElasticSearch?
- 现在是一个大数据的时代,数据规模和数据量爆炸式增长,数据存储技术的提高使得挖掘数据中的价值成为火热的需求。
- 但是面对如此海量的数据,如何高效快捷地找到你想要用的数据?
- Elasticsearch基于搜索引擎相关技术,帮助开发者找到了一种便捷而又高效的数据搜索办法,并且封装出简单易用的API供开发者使用。
2.参考资料:
- ElasticSearch 权威指南 -中文版(侧重于如何使用elasticsearch):
- 这本书针对ElasticSearch 2.x作了响应介绍,侧重于如何使用elasticsearch解决实际问题以及elasticsearch的工作原理。并没有详细介绍elasticsearch的详细语法知识,如果想要了解语法相关的知识,建议查看elasticsearch的官方文档。
- 但是有一些内容已经过时(尽管该书的作者一直在努力更新书本内容)。所以阅读过程中也要关 注elasticsearch的最新变化,有选择地吸收这本书中的内容。
- 这本书的GitHub仓库上存放的是这本书的最新版本
- ElasticSearch官方文档:
- 针对不同版本的elasticsearch,官方网站上也提供了多个版本的documentation
- Elastic Stack and Product Documentation
- 官方网站所提供的elasticsearch demo
- ElastIcsearch源代码:
- elasticsearch是一个开源项目,所以开发者可以看到其源代码
- elasticsearch被托管在GitHub上, github.com/elastic/elasticsearch。
- 如果你已经对elasticsearch足够熟悉,并且是搜索技术方面的高手,你可以通过contibuting to elasticsearch社区为elasticsearch的发展做出贡献
- ElastIcSearch社区:
3.Elasticsearch版本:
- 废弃版本
- 新版本
- 开发中的版本
4.学习目标:
- step1,(入门水平)学会使用Elasticsearch(不需要理解其工作原理)
- 学习如何将ElastIcsearch集成到自己的project中
- 了解ElastIcSearch的功能:
- 可以用于数据输入输出
- 可用于处理文档数据
- 可用于管理索引以及进行基本的搜索操作
- 可用于优化搜索结果,即控制请求给出的响应中第一页总是最佳的搜索结果
- 可用于语言处理,如:字母表、排序、词干提取、停用词、同义词、模糊匹配等等
- 可用于数据摘要化和分组,从而得知数据的整体趋势
- 可用于地理位置检索:既支持经纬坐标点检索;又支持复杂地理形状的检索
- elasticsearch+数据建模,是的整体的索引效果更好
- 了解如何部署集成了elasticsearch的project
- 了解如何监控已经部署好的集成了elasticsearch的project,包括监控点的设置以及如何诊断以避免出现问题。
- step2,(高级进阶)学习搜索原理、分布式系统等相关概念,理解Elasticsearch的工作原理(工作机制)
- step3,(大神级水平)尝试为elasticsearch提供改进建议,并且为其GitHub托管项目做出贡献