elasticsearch,sinatra,Ruby,elasticsearch,Sinatra" /> elasticsearch,sinatra,Ruby,elasticsearch,Sinatra" />

使用RubyGem和sinatra和ruby(而不是rails),如何连接到bonsai elasticsearch实例?

使用RubyGem和sinatra和ruby(而不是rails),如何连接到bonsai elasticsearch实例?,ruby,elasticsearch,sinatra,Ruby,elasticsearch,Sinatra,我试着站起来,带着盆景奔跑。我打算使用sinatra和ruby(而不是rails),尽管现在我只是尝试从本地机器进行连接。剧本是: require "csv" require "elasticsearch" require 'elasticsearch/transport' Elasticsearch::Model.client = Elasticsearch::Client.new url: 'https://uz09z96il1:5g9p3h8jow@hectors-first-starte

我试着站起来,带着盆景奔跑。我打算使用sinatra和ruby(而不是rails),尽管现在我只是尝试从本地机器进行连接。剧本是:

require "csv"
require "elasticsearch"
require 'elasticsearch/transport'
Elasticsearch::Model.client = Elasticsearch::Client.new url: 'https://uz09z96il1:5g9p3h8jow@hectors-first-starte-5298580603.us-west-2.bonsai.io', log: true
#Elasticsearch::Client.new host: 'https://uz09z96il1:5g9p3h8jow@hectors-first-starte-5298580603.us-west-2.bonsai.io', log: true
#Elasticsearch::Model.client = Elasticsearch::Client.new('https://uz09z96il1:5g9p3h8jow@hectors-first-starte-5298580603.us-west-2.bonsai.io')
#client = Elasticsearch::Client.new log: true
#Elasticsearch::Model.client = Elasticsearch::Client.new url: 'https://uz09z96il1:5g9p3h8jow@hectors-first-starte-5298580603.us-west-2.bonsai.io', log: true
CSV.open("candidates.csv", "r") do |f|
  f.each_with_index do |item, i|
    next if i == 0
    p item
    client.index  index: 'data', type: 'person', body: '{
        "first": "#{item[1]}",
        "last": "#{item[2]}"
        }'
end
end
基本错误是连接被拒绝,在本例中如下所示:

uninitialized constant Elasticsearch::Model (NameError)
正如您所看到的,从注释掉的行中,我尝试了尽可能多的变化

实现这一目标的最佳方式是什么?感谢您的帮助。

您将得到更多帮助

uninitialized constant Elasticsearch::Model (NameError)
因为你没有包括正确的课程。尝试添加:

require 'elasticsearch/model'

在您的代码顶部。

ruby gems正在使用(尝试使用)什么?根据上述要求,我在本地计算机上安装了elasticsearch、elasticsearch api和elasticsearch transport gems