Elasticsearch
下载最新版本的Elasticsearch 或 注册 Elastic Cloud免费试用。
本仓库包含官方Elasticsearch Ruby客户端。elasticsearch
gem是一个完整的Elasticsearch客户端,使用两个独立的库:
elastic-transport
- 提供连接Elasticsearch集群的底层代码。elasticsearch-api
- 为Elasticsearch RESTful API提供Ruby API。
文档
请参阅elastic.co上的完整文档以获取全面的信息。
elastic-transport
和elasticsearch-api
都有文档。您可以在RubyDocs上查看elastic-transport
和elasticsearch-api
的文档。
安装
gem install elasticsearch
请参阅入门文档的安装部分。
连接
请参阅入门文档的连接部分。
使用
require 'elasticsearch'
client = Elasticsearch::Client.new(host: 'https://my-elasticsearch-host.example')
client.ping
client.search(q: 'test')
请参阅官方文档了解如何使用最常调用的API的示例,以及doc/examples
中的一些实际示例。
**为了获得最佳性能,您应该使用支持持久连接("keep-alive")的HTTP库,例如Patron或Typhoeus。**这些库不是Elasticsearch gems的依赖项。请确保在您自己的应用程序中定义HTTP库的依赖关系。
查看这些其他用于处理Elasticsearch的官方Ruby库:
elasticsearch-rails
- 与Ruby模型和Rails应用程序集成。elasticsearch-extensions
,已弃用。elasticsearch-dsl
,提供Elasticsearch查询DSL的Ruby API。
请查看它们各自的README以获取信息和文档。
兼容性
我们遵循Ruby自身的维护政策,并根据Ruby维护分支官方支持所有当前维护的版本。
语言客户端具有向前兼容性;这意味着客户端支持与Elasticsearch的更高或相等的次要版本进行通信而不会出现问题。 这并不意味着客户端自动支持较新Elasticsearch版本的新功能;只有在发布新的客户端版本后才能支持。 例如,8.12客户端版本不会自动支持Elasticsearch 8.13版本的新功能,需要8.13客户端版本才能支持。 Elasticsearch语言客户端仅与默认发行版向后兼容,且不作保证。
Gem版本 | Elasticsearch版本 | 支持 | |
---|---|---|---|
7.x | → | 7.x | 7.17 |
8.x | → | 8.x | 8.x |
main | → | main |
开发
请参阅CONTRIBUTING。
许可证
本软件根据Apache 2许可证授权。请参阅NOTICE。