我正面临一个我还无法解决的复杂问题。
我将 Rails 4(edge) 与 postgresql 9、ElasticSearch 0.20.6 和 gem Tire (0.5.7) 一起使用。我有多个链接在一起的表。例如:
代理机构有很多客户客户有很多项目项目有很多文件
我的目标是能够以两种方式索引文件:
- 首先有一个索引,它只允许在所有文件中轻松快速地搜索。我仅通过使用轮胎就成功地做到了。我的索引有一个类型“文件”,它就像一个魅力。
- 我想创建的另一个索引将包含一些文件信息,还有一些客户端和代理的属性。这是一个外部工具,能够根据项目类别或客户位置等标准获取最佳文件......
当我使用 postgresql 时,我想我可以从那里做一个数据库视图和索引数据。我不确定这样做是否很好,尽管因为视图会非常复杂,有多个连接。另外,我担心任何更新都会触发完整的数据库重新索引。
我想知道是否有办法做一个纯轮胎模型并轻松触发它的任何链接表上的索引更新。例如,我将索引数据类型命名为files_front
. 我会有一个模型FilesFront
,has_one :file
每次我更新文件或任何父文件时,所有受影响的文件都会在 ES 中看到它们的值更新。
我真的不确定如何做到这一点,所以欢迎任何建议。