【问题标题】:Elasticsearch for mysql view railsElasticsearch for mysql 查看导轨
【发布时间】:2016-12-28 18:39:05
【问题描述】:

如何在 MYSQL 中为视图创建弹性搜索索引?

我尝试为 mysql 视图的迁移制作模型并放入模型中

include Elasticsearch::Model
include Elasticsearch::Model::Callbacks

然后输入elasticsearch.rb

unless client.indices.exists? index: 'history_views'
HistoryView.__elasticsearch__.create_index!
end

HistoryView.import

但似乎HistoryView.import这行 报错

ActiveRecord::StatementInvalid: Mysql2::Error: Unknown column 'history_views.'在“订单子句”中:SELECT history_views.* FROM history_views ORDER BY history_views。 ASC 限制 1000

我认为 gem 需要一个主键来排序,并且视图中不存在。

我该如何解决这个问题? 我是否必须覆盖 gem 中的某些功能?

【问题讨论】:

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


    【解决方案1】:

    我发现这是问题所在:

    需要一个在 MYSQL 视图中不存在的主键

    于是在model.rb中添加了这一行

      self.primary_key = 'id'
    

    创建主键。

    注意:id 在视图的选择查询中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-09
      • 2011-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-23
      • 2016-10-12
      • 1970-01-01
      相关资源
      最近更新 更多