3

使用 elasticsearch-rails/elasticsearch-model gems。

我知道您可以在单个模型上使用代理执行以下操作:

MyModel.__elasticsearch__.search(search_hash).records.includes(:my_association)

我需要在包含相同关联的相似模型中进行搜索,这些关联我想要预先加载。尽管使用“未定义的方法”,但会出现以下错误。

Elasticsearch::Model.search(search_hash, [MyModel, MyOtherModel]).records.includes(:my_association)

两个.records调用似乎都返回一个Elasticsearch::Model::Response::Records对象,但似乎.includes只对通过 ES 代理的单个模型有效。

跨多个模型搜索时,有没有办法轻松做到这一点?

4

1 回答 1

0

使用委托。以下是来自 dimroc 的示例: Eager Loading Delegate

于 2022-02-14T16:49:20.277 回答