在全文搜索领域,Elasticsearch 占据了大部分的江山,这也导致了它的市值,居高不下。今天我抽个时间再谈一谈 Elasticsearch 的特点,使用场景,开源产品等内容,希望能够方便大家理解!
所谓的全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。
根据这个全文检索的解释,我们就可以猜测出一些关于它的使用场景。
- 搜索领域: 百度、谷歌,全文检索,高亮,搜索推荐等。
- 内容网站: 用户行为日志(点击、浏览、收藏、评论) + 社交网络数据,数据分析(将公众对文章的反馈提交至文章作者),包括网站内容搜索等。
- Stack Overflow(IT技术论坛): 全文检索,搜索相关问题和答案。
- GitHub(开源代码管理), 搜索管理其托管的上千亿行代码。
- 日志数据分析: ELK技术栈(Elasticsearch + Logstash + Kibana)对日志数据进行采集和分析。
- 商品价格监控网站: 用户设定某商品的价格阈值,当价格低于该阈值时,向用户推送降价消息。
- BI系统(Business Intelligence, 商业智能): 分析某区域最近 3 年的用户消费额的趋势、用户群体的组成结构等。
- 其他应用: 电商、招聘、门户等网站的内部搜索服务,IT系统(OA、CRM、ERP等)的内部搜索服务、数据分析等。
根据这些使用场景,Elastic 开发出了相当多的收费和免费的产品,比如:Beats 是一个代理,将不同类型的数据发送到 Elasticsearch 中;Shield 提供基于角色的访问控制与审计,加密通信、认证保护整个 ES 的数据,为 ES 带来企业级的安全性;Watcher 是 ES 的警报和通知工具,检测 ES 的状态,在异常发生时进行提醒;Marvel: 是 ES 的管理和监控工具,检测 ES 集群的索引和节点的活动。
根据这些产品,可以看出,多数都是收费的。虽然 Elasticsearch 很好用,但是它每年会爆发出非常多的安全问题。原因是它的安全模块是收费的!
但是,这并不影响人们学习和使用 Elasticsearch,因为它具备了太多的优点。虽然它的安全模块收费,但是我们也可以完全自己来实现它的安全保护,防止数据泄露。
ES 的优点,总结了下面 5 条,供大家参考:
- 横向可扩展性: 作为大型分布式集群,很容易就能扩展新的服务器到ES集群中;也可运行在单机上作为轻量级搜索引擎使用。
- 更丰富的功能: 与传统关系型数据库相比,ES提供了全文检索、同义词处理、相关度排名、复杂数据分析、海量数据的近实时处理等功能。
- 分片机制提供更好地分布性: 同一个索引被分为多个分片(Shard),利用分而治之的思想提升处理效率。
- 高可用: 提供副本(Replica)机制,一个分片可以设置多个副本,即使在某些服务器宕机后,集群仍能正常工作。
- 开箱即用: 提供简单易用的 API,服务的搭建、部署和使用都很容易操作。
ES 的这些优点导致了,在全文检索、结构化检索、数据分析、海量数据的近实时处理等领域具有巨大的优势。
下面我给大家说一说,全文检索、结构化检索、数据分析三者的区别吧。
- 全文检索: 搜索商品名称包含”编程思想”的商品: select * from products where product_name like “%编程思想%”;
- 结构化检索: 搜索商品分类为”计算机科学”的所有商品: select * from products where category_id=’计算机科学’;
- 数据分析: 分析每一种商品分类下有多少件商品: select category_id, count(*) from products group by category_id;
这些 Elasticsearch 都可以做,而且性能极其高效,因为它能提供近实时的搜索能力。
这里需要注意的是,非近实时、实时、近实时三者之间的关系与区别。
- 非近实时: 检索x个数据要花费很长时间(这就不是近实时,而是离线批处理, batch-processing)。
- 实时: 数据的处理与响应都是立即呈现的,几乎没有间隔,这在大数据应用场景下是很难达到的要求。
- 近实时(near real-time, NRT): 对海量数据进行搜索和分析的响应耗时控制在秒级以内,方可称为近实时。
以上,希望能够帮助到每一位读者!
: » 一网打尽Elasticsearch的优点,使用场景,全文检索,近实时等知识点
原创文章,作者:sunnyman218,如若转载,请注明出处:https://blog.ytso.com/252121.html