Eland 是一个全新的 Python 包,它在 Elasticsearch 和数据科学生态系统之间架起了一座桥梁。Elasticsearch 是一个功能丰富的开源搜索引擎,它构建在 Apache Lucene 之上,Apache Lucene 是市场上最重要的全文搜索引擎之一。Elasticsearch 以其提供的广泛而通用的 REST API 体验而闻名,包括用于全文搜索、排序和聚合任务的高效 wrapper,使得在现有后端中实现此类功能变得更加容易,而无需进行复杂的重新设计。自 2010 年推出以来,Elasticsearch 在软件工程领域获得了广泛的关注,到 2016 年,根据 DBMS 知识库 DB-engines,它成为最受欢迎的企业搜索引擎软件堆栈,超越了行业标准的 Apache Solr( 也建立在 Lucene 之上)。
Elasticsearch 如此受欢迎的原因之一是它生成的生态系统。 世界各地的工程师开发了开源 Elasticsearch 集成和扩展,其中许多项目被 Elastic(Elasticsearch 项目背后的公司)吸收作为其堆栈的一部分其中一些项目是 Logstash(数据处理管道,通常用于解析基于文本的文件)和 Kibana(建立在 Elasticsearch 之上的可视化层),导致现在广泛采用的 ELK(Elasticsearch、Logstash、Kibana)堆栈。Elastic Stack 因其在新兴和整合技术领域(例如 DevOps、站点可靠性工程以及最近的数据分析)的优异表现而得到广泛的使用。
Data science
如果您是一名阅读本文的数据科学家,并且将 Elasticsearch 作为你雇主技术堆栈的一部分,那么在尝试使用 Elasticsearch 提供的所有功能进行数据分析甚至简单的机器学习任务时,你可能会遇到一些问题。
数据科学家通常不习惯使用 NoSQL 数据库引擎执行常见任务,甚至不习惯依赖复杂的 REST API 进行分析。例如,使用 Elasticsearch 的低级 Python 客户端处理大量数据也不是那么直观,对于来自与 SWE 不同领域的人来说,学习曲线有些陡峭。
尽管 Elastic 在增强用于分析和数据科学用例的 Elastic Stack 方面做出了重大努力,但它仍然缺乏与现有数据科学生态系统(pandas、numpy、scikit-learn、PyTorch 和其他流行库)的简单接口。
2017 年,Elastic 向数据科学领域迈出了第一步,作为对机器学习和预测技术在软件行业日益普及的回应,发布了第一个支持 ML 的 X-pack(扩展包)用于 Elastic Stack,将异常检测和其他无监督 ML 任务添加到其功能中。不久之后,回归和分类模型也被添加到 Elastic Stack 中可用的 ML 任务集中。
原文链接:
https://blog.csdn.net/UbuntuTo ... 45670