referred to as u201c object ranking u201d which means that each attribute value can be treated as an object and thus the rank of this object can be calculated one object ranking algorithm that can be utilized for attribute value ranking is eq 1 where s attr r 1 r 2 r k where r 1 r k are dynamic ranks of results which have an attribute value u201c attr u201d the f s attr can be any combination function for example f u2061 s attr u2211 i 1 k u2062 r i u00d7 1 1 c u00d7 i eq u2062 1 where c is a constant float number e g scaling factor that can be varied to emphasize and or de emphasize a ranking value in one instance a group by search result process returns a list of attribute values sorted by descending attribute value rank for each attribute value there is typically several results which have this attribute value thus some of these values can be condensed to provide a top k search result list in table 1 below an example sorting process is described u201c result root u201d points to a result which has the same attribute value and the highest rank in fig4 the root of result 3 is result 1 the root of result 5 is result 2 the time utilized for the group by process is o n log n o n o n log n in the related and cross referenced application ser no 11 106.