Activerecord and EAV with search

35 views
Skip to first unread message

Павел Макаров

unread,
Oct 30, 2013, 2:19:35 AM10/30/13
to rubyonra...@googlegroups.com
Hello. Would somebody like to answer me on question or give some advice?

In my situation I have to use EAV-model (MySQL database) to deal with dynamic attributes (for products: color, weight, height and etc.)
Model: Product, Option, Value

So, in this case I have relation: product has many options through values.
It's okay, when I modify and print it.

But what is the best solution for search on them?
Because I have to have many inner joins with the same table - values
And each join should have own conditions, for example:
    option_alias1.name = 'color' AND values_alias1.value = '100'
    AND option_alias2.name = 'weight' AND values_alias2.value < '200'

So, I can't do it by join existing relation many times, because I haven't got access to aliases. Should I write raw sql queries or there is more convenient way?

Thank you.

Frederick Cheung

unread,
Oct 30, 2013, 9:22:54 AM10/30/13
to rubyonra...@googlegroups.com


On Wednesday, October 30, 2013 6:19:35 AM UTC, Павел Макаров wrote:
Hello. Would somebody like to answer me on question or give some advice?

In my situation I have to use EAV-model (MySQL database) to deal with dynamic attributes (for products: color, weight, height and etc.)
Model: Product, Option, Value

So, in this case I have relation: product has many options through values.
It's okay, when I modify and print it.

But what is the best solution for search on them?

Do you have to use Mysql for the search side too? Something like elasticsearch is good at searching over that sort of dataset.

Fred

Павел Макаров

unread,
Oct 31, 2013, 6:44:08 AM10/31/13
to rubyonra...@googlegroups.com
Unfortunatelly, yes, I am.

среда, 30 октября 2013 г., 17:22:54 UTC+4 пользователь Frederick Cheung написал:
Reply all
Reply to author
Forward
0 new messages