哲学的な質問のビット:エイリアスを持つ着信データを扱う
さまざまなチャンネルからのデータを扱います。 私たちはそのデータを解析してそれを理解しようとしています。
class Product
attr_accessible :name, :description, :price
has_one :company
end
class Company
attr_accessible :name, :domain, :phone, :email
validates_uniqueness_of :name, :domain
end
データが入ってくると、会社名が少し変わることがあります。
"Acme Limited"
"Acme Ltd"
"Acme Ltd (Birmingham)"
"Acme Ltd (London)"
これらはすべて基本的に同じ会社であり、私たちは(かつて我々は別名を認識している)のようなそれらを保存し、それらを自動的に割り当てるようにしたいと思います。
これらのバリエーションは、第三者がAPIや管理できないサイトにデータを保存する方法に変わります。
これらのエイリアスを識別し、到着時に適切な会社に変換するには、どのような方法が良いでしょうか?
別名を扱う会社との関連付けとして別のクラスを追加することを考えました。 また、テーブルにjsonb列を追加して、エイリアスの配列を保持できるので、一致するものがあればそれを取り込むことができます。
ちょうど良い解決策があるはずです発見。
誰もこのタイプの問題に遭遇し、何かエレガントで美しいものを思い付きますか?
'テーブルにjsonb列を追加すると、私には十分に聞こえる –