我在Rails项目中使用弹性搜索。我正在使用elasticsearch-model gem进行实时全文搜索。假设模型A属于模型B.如果我在模型A上进行搜索,我将根据搜索参数获得10条A记录。
A.search(x) => Gives 10 records which includes all attributes of A.
但是当我通过A访问模型B时:A.B.some_attrib我正在
undefined method B for <Elasticsearch::Model::Response::Result>
如何在ElasticSearch中加载关联?
此外,我想要搜索结果中的所有记录。如何在搜索方法中指定match_all?
答案 0 :(得分:1)
Include Elasticsearch::Model and callbacks
并进行索引映射。
在两个关联模型中包含模块。
注意:不要忘记导入模型。
答案 1 :(得分:0)
您可以使用as_indexed_json方法配置模型关联。 这是psuedo代码:
def as_indexed_json(options={})
self.as_json(
include: {
b: { only: :col1}
}
)
end