认识
ElasticSearch 是一个基于 Lucene 的搜索服务。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便;
官网
https://www.elastic.co/elasticsearch
文档
官方手册:Elasticsearch Reference
中文手册:(「Elasticsearch 权威指南(中文版)」)(「Elasticsearch: 权威指南」2.x)
《Elasticsearch: The Definitive Guide》
《Elasticsearch 实战》
《Elasticsearch 搜索引擎开发实战》
《深入理解 Elasticsearch》 作者:(美)拉斐尔·酷奇(Rafa Kuc),(美)马雷克·罗戈任斯基(Marek Rogozinski) 著;张世武,余洪淼,商旦译著作
《相关性搜索(利用 Solr 与 Elasticsearch 创建智能应用)》
《Elasticsearch 源码解析与优化实战》
《Elasticsearch 集成 Hadoop 最佳实践》
各大论坛、社区、Stackoverflow、Stackexchange、…
仓库
https://github.com/elastic/elasticsearch
组成
Elasticsearch 是一个基于 Apache Lucene(TM)的开源搜索引擎。无论在开源还是专有领域,Lucene 可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库;
但是,Lucene 只是一个库。想要使用它,你必须使用 Java 来作为开发语言并将其直接集成到你的应用中,更糟糕的是,Lucene 非常复杂,你需要深入了解检索的相关知识来理解它是如何工作的;
构建
WIP
性质
Elasticsearch 也使用 Java 开发并使用 Lucene 作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的 RESTful API 来隐藏 Lucene 的复杂性,从而让全文搜索变得简单;
不过,Elasticsearch 不仅仅是 Lucene 和全文搜索,我们还能这样去描述它:
- 分布式的实时文件存储,每个字段都被索引并可被搜索
- 分布式的实时分析搜索引擎
- 可以扩展到上百台服务器,处理 PB 级结构化或非结构化数据
而且,所有的这些功能被集成到一个服务里面,你的应用可以通过简单的 RESTful API、各种语言的客户端甚至命令行与之交互;
上手 Elasticsearch 非常容易。它提供了许多合理的缺省值,并对初学者隐藏了复杂的搜索引擎理论。它开箱即用(安装即可使用),只需很少的学习既可在生产环境中使用;
Elasticsearch 在 Apache 2 license 下许可使用,可以免费下载、使用和修改;
随着你对 Elasticsearch 的理解加深,你可以根据不同的问题领域定制 Elasticsearch 的高级特性,这一切都是可配置的,并且配置非常灵活;
SQL
X-Pack includes a SQL feature to execute SQL queries against Elasticsearch indices and return results in tabular format.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/xpack-sql.html
SQL Client Applications | 让我们像操作数据库的方式来操作 Elasticsearch 服务。
https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-client-apps.html
SQL CLI | 在命令行中,通过 SQL 语句来查询 Elasticsearch 数据库。
https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-cli.html
应用
我们建立一个网站或应用程序,并要添加搜索功能,但是想要完成搜索工作的创建是非常困难的。我们希望搜索解决方案要运行速度快,我们希望能有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用 JSON 通过 HTTP 来索引数据,我们希望我们的搜索服务器始终可用,我们希望能够从一台开始并扩展到数百台,我们要实时搜索,我们要简单的多租户,我们希望建立一个云的解决方案。因此我们利用 Elasticsearch 来解决所有这些问题及可能出现的更多其它问题;
参考
百度百科 /elasticsearch
Elasticsearch 权威指南(中文版)/1.1 是什么
Elasticsearch Reference/Getting Started
Elasticsearch/Elasticsearch Reference