我們可以閱讀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
那么,我們如何使用變換端點呢?
uj5u.com熱心網友回復:
感謝@picandocodigo。
elasticsearch-xpack gem 已棄用,其端點(如轉換命名空間下的端點)已合并到 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' )
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/345198.html
