elasticsearch-ruby:转换

Posted

技术标签:

【中文标题】elasticsearch-ruby:转换【英文标题】:elasticsearch-ruby: transforms 【发布时间】:2021-12-13 18:26:53 【问题描述】:

我们可以读到elasticsearch-ruby CHANGELOG (Vewsion 7.7.0) 我们有新的 API 端点可用。包括转换。 Here they are.

我们使用的是 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

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

【问题讨论】:

【参考方案1】:

Thanks to @picandocodigo.

elasticsearch-xpack gem 已被弃用,其端点(如 转换命名空间下的那些)被合并到 elasticsearch-api,但仅适用于 main 和 8.x 版本。在 7.x 中 客户端的版本,您仍然需要安装并要求 弹性搜索-xpack gem。 7.15可以看代码here。

所以你需要做类似的事情:

require 'elasticsearch'
require 'elasticsearch/xpack'

client = Elasticsearch::Client.new
client.transform.stop_transform(transform_id: 'my_transform' )

【讨论】:

以上是关于elasticsearch-ruby:转换的主要内容,如果未能解决你的问题,请参考以下文章

基于Opencv的几种立体匹配算法+ELAS

资讯Elas推出比特币企业套件Signavera

Logstash

Logstash:处理多个input

elk+redis+filebeat

从 Python 改成 Java, 主要是关于图像处理。