My suggestion is that for common fields that you search by, define a table
(when those does not there, put null or a default value). Otherwise, search
are very expensive.
I have looked at solar for a different project recently, and now its
provides support for search by attributes as well
I am refactoring the social data table in to two tables.
had a small offline discussion with Srinath yesterday, it was suggested
that it's better to have individual columns for (mosey) common vales and
leave them NULL when not using.
following is an example.
Activity Table