【问题标题】:How to import parent/child objects in Elasticsearch如何在 Elasticsearch 中导入父/子对象
【发布时间】:2015-10-29 04:42:16
【问题描述】:

我在我的 Rails 应用程序中使用 gems elasticsearch-rails 和 elasticsearch-model。在导入现有数据之前,我使用this integration test 作为模板来设置我的映射等,这些数据在父模型和子模型之间具有相同的基本关联。

我知道集成测试由于回调而有效,并且它在这些回调中设置了父 ID。

我想导入现有的问题和答案。似乎只调用Questions.importAnswers.import 是不够的。我收到了问题,但在我的 Elasticsearch 商店中没有得到任何答案。我想知道如何使用适当的父映射导入 Answers 对象。任何人都可以给我任何提示吗?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 elasticsearch elasticsearch-rails elasticsearch-model


    【解决方案1】:

    我将回答我自己的问题,以防其他人也有同样的疑问。

    您可以在导入数据时传递一些东西来转换数据:

    transform = lambda do |a|
      {index: {_id: a.id, _parent: a.author_id, data: a.__elasticsearch__.as_indexed_json}}
    end
    
    Article.import transform: transform
    

    elasticsearch-model gem 在这里有更多文档:https://github.com/elastic/elasticsearch-rails/blob/ded20356920802c35d258756113acfd95b25ade6/elasticsearch-model/lib/elasticsearch/model/importing.rb

    【讨论】:

      猜你喜欢
      • 2015-03-08
      • 1970-01-01
      • 2012-11-13
      • 2023-03-08
      • 2011-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多