【发布时间】:2020-06-03 09:31:20
【问题描述】:
我有一个关于在Elasticsearch 中搜索时选择最佳方法的问题。
我有 Ruby off Rails API、ActiveRecord 和 Elasticsearch (elasticsearch-model gem)。
这是一个简单的 API,它返回 projects(项目 AR 模型),我在其中设置索引:
mapping dynamic: false do
indexes :created_at, type: 'date'
end
然后我简单地在 Elasticsearch 上进行搜索并直接从控制器返回 AR 关系。它运行良好。
现在我尝试将categories 添加到projects,分别为categories has_many projects 和projects belongs_to categories。我想知道两件事:
我现在应该如何进行查询以获取特定类别的项目,我应该重新实现它以返回result = Category.search(...) 并返回result.jobs,还是仍然通过projects 搜索,但通过category_id 搜索?
如何在 Elasticsearch 中结合 Category 和 Project 以实现从特定类别和多个类别中搜索项目?合并映射?
提前致谢!
【问题讨论】:
标签: ruby-on-rails ruby elasticsearch activerecord elasticsearch-model