Railsアプリケーションでは、スキーマのないオブジェクト(JSONデータ構造)を格納できるようにしたいと考えています。JSONデータ構造は、オブジェクトごとに、または同じオブジェクトに対して異なる時間に異なる構造を持つ可能性があります。
ElasticSearchを使用すると、これを行うことができます。ただし、これにはRailsで何らかのORMを使用したいと思います。
Railsコンソールでこれを実行して、Tireチュートリアルでいくつかのテストを実行しようとしました:
>>> 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など)から属性名を返す方法はありますか?
タイヤでない場合、これを行うための他の解決策はありますか?