【问题标题】:How to insert a single json string into elasticsearch with a ruby script如何使用 ruby​​ 脚本将单个 json 字符串插入到 elasticsearch
【发布时间】:2020-08-31 00:17:30
【问题描述】:

首先我想提一下,我是使用 Elasticsearch 和 Ruby 的新手,但我的新兼职工作要求我这样做。

我正在寻找一种将我的 ruby​​ 文件中的 json 格式的字符串插入到我的 elasticsearch 中的方法。 Json 字符串如下所示

{
"key" : "dummykey1",
"properbility" : 2,
"severity" : 3,
"summary" : "this is a dummy summary"
}

(这只是测试atm的虚拟数据)

我的弹性搜索帖子网址是“http://localhost:9200/jira_issues3/_doc/1

使用邮递员插入这个工作完美,但我需要一种方法在 ruby​​ 脚本中完成它,我不知道从哪里开始。

我很难在谷歌上找到任何东西,因为当我同时搜索 ruby​​ 和 elasticsearch 时,出现的只是如何在你的 ruby​​ on rails 项目上安装 elasticsearch。 如果这是一个愚蠢的问题,我很抱歉,但我觉得我别无选择。

对于任何试图帮助我愚蠢的大脑的人,非常感谢你

【问题讨论】:

    标签: ruby elasticsearch post


    【解决方案1】:

    如果您只需要将一些 JSON 内容索引到您的集群中,您可以使用纯 Ruby 和 net/http

    # Plain Ruby:
    require 'net/http'
    
    json = <<-JSON
    {
      "key" : "dummykey1",
      "properbility" : 2,
      "severity" : 3,
      "summary" : "this is a dummy summary"
    }
    JSON
    
    uri = URI('http://localhost:9200/jira_issues3/_doc/9')
    response = Net::HTTP.post uri, json, "Content-Type" => "application/json"
    puts response
    

    如果您要通过 Ruby 应用程序与 Elasticsearch 集群进行交互,我建议您查看官方的 Elasticsearch Ruby client

    # With the Elasticsearch client:
    require 'elasticsearch'
    client = Elasticsearch::Client.new
    response = client.index(index: 'jira_issues3', body: json, id: 1)
    puts response
    

    在您的 Ruby 项目中使用 Elasticsearch 可以使用两种不同的 gem:

    第一个 gem 是 Elasticsearch 的官方客户端。它提供完整的 API 支持和许多其他功能。第二个是 Rails Integrations for Elasticsearch,它依赖于第一个并且可能比您实际需要的要多。

    【讨论】:

      猜你喜欢
      • 2021-09-02
      • 1970-01-01
      • 2022-01-02
      • 2018-01-26
      • 1970-01-01
      • 2022-11-01
      • 2021-02-25
      • 1970-01-01
      • 2013-11-24
      相关资源
      最近更新 更多