0

我们可以读入elasticsearch-ruby CHANGELOG (Vewsion 7.7.0) 我们有新的 API 端点可用。包括转换。他们在这里

我们正在使用 elasticsearch-ruby 7.15.0。但是不知道怎么用。

这是我的例子...

require 'elasticsearch'

elasticsearch = Elasticsearch::Client.new(
  cloud_id: '******',
  user: '******',
  password: '******',
  log: false
)

elasticsearch.transform.stop_transform transform_id: 'my_transform' 

但是我们得到一个错误...

/usr/local/rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/elasticsearch-7.15.0/lib/elasticsearch.rb:43:in `method_missing': undefined method `transform' for #<Elasticsearch::Client:0x0000556a2ad72bb8> (NoMethodError)

它位于文件夹 /lib/elasticsearch/api/actions 中的代码。就像指数一样。

我们可以使用这样的索引...

if elasticsearch.indices.exists? index: 'mi_index'
  <do what ever we want>
end 

我们在 de doc 中找不到任何内容。https://rubydoc.info/gems/elasticsearch-api/Elasticsearch/API

那么,我们如何使用变换端点呢?

4

1 回答 1

1

感谢@picandocodigo。

elasticsearch-xpack gem 已被弃用,其端点(如 transform 命名空间下的端点)被合并到 elasticsearch-api 中,但仅适用于 main 和 8.x 版本。在客户端的 7.x 版本中,您仍然需要安装并需要 elasticsearch-xpack gem。您可以在此处查看 7.15 的代码。

因此,您需要执行以下操作:

require 'elasticsearch'
require 'elasticsearch/xpack'

client = Elasticsearch::Client.new
client.transform.stop_transform(transform_id: 'my_transform' )
于 2021-11-02T15:56:53.230 回答