文章目录
- 基本介绍
- Elastic 介绍
- ElasticStack
- 常规搜索的弊端
- 全文搜索引擎:
- Elasticsearch和Solr之间如何选择?
- ES 的优点
- ES 案例
基本介绍
Elastic 介绍
Elasticsearch是一个分布式,RESTful风格的搜索和数据分析引擎,可以解决各种用力。它也是Elastic Stack的核心,集中存储数据,帮助发现各种情况。
ElasticStack
包括 Elasticsearch 、Kibana、Beats、和Logstash (被合称为ELK Stack)
能够安全可靠的获取任何来源与格式的数据,实时对数据进行搜索、分析和可视化。ES(Elastic Search)是一个 开源的高扩展的分布式全文搜索引擎
,是整个Elastic Stack的黑心。可以近乎实时的存储、检索数据;可扩展到上百台服务器,处理PB级数据。
常规搜索的弊端
对于以下场景,常规搜索方式性能是很差的
- 搜索的数据对象是大量的非结构化的文本数据。
- 文件记录量达到数十万或数百万个甚至更多。
- 支持大量基于交互式文本的查询。
- 需求非常灵活的全文搜索查询。
- 对高度相关的搜索结果的有特殊需求,但是没有可用的关系数据库可以满足。
- 对不同记录类型、非文本数据操作或安全事务处理的需求相对较少的情况。
全文搜索引擎:
目前广泛应用的主流搜索引擎,计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程
Elasticsearch和Solr之间如何选择?
- Elasticsearch易于安装且非常轻巧,但是若管理不当,易于部署反而可能会成为一个问题。如果应用使用的是JSON,建议使用Elasticsearch,否则,建议使用solr(对schema.xml 和solrconfig.xml都有较好的记录)
- Solr的用户、开发者和贡献者社区都相对成熟,ES的社区虽然规模较小,但是目前再不断增长中
- Solr更加成熟,ES更稳定
- Solr有清晰的示例和API用例场景,ES缺乏好的示例和配置说明。
ES 的优点
- 易于使用
- 更适合处理分析查询
- 分布式索引
- ES再开源日志管理用例中有主导性地位
- ES暴露了更多的关键指标以便监控
ES 案例
- GitHub
- Wiki
- SoundCloud
- 百度
- 新浪
- 阿里巴巴
- Stack Overflow