在 Rails 应用程序中,我希望能够存储无模式对象——JSON 数据结构,它可以在对象之间具有不同的结构,或者在不同时间对于相同的对象。
使用 ElasticSearch,我可以做到这一点。但是,我想为此使用某种带有 Rails 的 ORM。
尝试使用轮胎教程进行一些测试,在 Rails 控制台中执行此操作:
>>> c = Article.new :title =>'New article', :content => { :a => 'a', :b => 'b'}
我可以看到存储为序列化 YAML 的内容数据:
>> Article.last.content
=> "---\n:a: a\n:b: b\n"
这将需要将搜索结果解析为 JSON,这不是问题。但主要问题是:我能否在序列化数据中进行搜索?有没有办法从任意结构化数据(如 Object.keys)中返回属性名称?
如果不是轮胎,是否有其他解决方案可以做到这一点?