es是什么
elasticsearch简写es,es是一个高扩展、开源的全文检索和分析引擎,它可以准实时地快速存储、搜索、分析海量的数据。
什么是全文检索
全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。全文搜索搜索引擎数据库中的数据。
为什么使用搜索引擎
1.数据类型
全文搜索支持非结构化数据的搜索,可以更好的快速搜索大量存在的任何单词。
2.搜索性能
当数据量达到千万级别的时候,或者含有like等搜索条件的时候,mysql不会走索引,性能会变差。
3.灵活搜索
不必要求用户一定输入正确才能进行查询,当用户输入一些关键字的时候可以给出相应的提示并进行查出。
4.索引的维护
一般传统数据库对于全文搜索,很难去实现,需要扫描整个表,即使有索引,在insert和update操作的时候都会重新构建索引,维护很麻烦。
es的应用场景
- 一个线上商城系统,用户需要搜索商城上的商品。
在这里你可以用es存储所有的商品信息和库存信息,用户只需要输入”空调”就可以搜索到他需要搜索到的商品。 - 一个运行的系统需要收集日志,用这些日志来分析、挖掘从而获取系统业务未来的趋势。
你可以用logstash(elk中的一个产品,elasticsearch/logstash/kibana)收集、转换你的日志,并将他们存储到es中。一旦数据到达es中,就你可以在里面搜索、运行聚合函数等操作来挖掘任何你感兴趣的信息。 - 如果你有想基于大量数据(数百万甚至数十亿的数据)快速调查、分析并且要将分析结果可视化的需求。
你可以用es来存储你的数据,用kibana构建自定义的可视化图形、报表,为业务决策提供科学的数据依据。
我们可以理解为:es是一个企业级海量数据的搜索引擎,可以理解为是一个企业级的百度搜索,除了搜索之外,es还可以快速的实现聚合运算~~~