Elasticsearch 功能可以通过以下几种方式轻松集成到任何 Java 应用程序中: 通过 REST API 和通过原生 API。在 Java 中,很容易使用众多可用库之一调用 REST HTTP 接口,例如 Apache HttpComponents 客户端 (请参阅 http://hc.apache.org/ 了解更多信息)。在这个领域,没有最常用的库。通常,开发人员会选择最适合他们偏好的库或他们非常熟悉的库。从 Elasticsearch 6.x 开始,Elastic 提供了一个低/高级 HTTP 供客户端使用。在本章中,我们将主要将这些用于提供的所有示例。
每种 JVM 语言也可以使用本机协议将 Elasticsearch 与其应用程序集成;但是,我们不会对此进行介绍 因为 它已不再使用 从 Elasticsearch 7.x 开始。新应用程序应该依赖 HTTP。在本章中,我们将学习如何初始化不同的客户端以及如何执行我们在前几章中看到的命令。我们不会深入介绍每个调用,因为我们已经 描述了 REST API。 Elasticsearch 社区建议在集成它们时使用 REST API,因为它们在不同版本之间更稳定并且有详细的文档说明(原生 API 将在 Elasticsearch 8.x 中被删除)。
这些秘籍中提供的所有代码都可以在本书的代码库中获得, 并且可以使用 Maven 构建。
在本章中,我们将介绍以下食谱:
- Creating a standard Java HTTP client
- Creating a low-level Elasticsearch client
- Creating a high-level Elasticsearch client
- Managing indices
- Managing mappings
- Managing documents
- Managing bulk actions
- Building a query
- Executing a standard search
- Executing a search with aggregations
- Executing a scroll search