Got the first option that you suggested.

However, In the second one, are you suggested to use, for e.g, key='Marcos' & store cols, for all users of that name, containing userId inside that row. That way it would have to read multiple rows while user is doing a single search.

On Wed, Nov 16, 2011 at 10:47 AM, samal <> wrote:

> I need to add 'search users' functionality to my application. (The trigger for fetching searched items(like google instant search) is made when 3 letters have been typed in).
> For this, I make a CF with String type keys. Each such key is made of first 3 letters of a user's name.
> Thus all names starting with 'Mar-' are stored in single row (with key="Mar").
> The column names are framed as remaining letters of the names. Thus, a name 'Marcos' will be stored within rowkey "Mar" & col name "cos". The id will be stored as column value. Since there could be many users with same name. Thus I would have multple userIds(of users named "Marcos") to be stored inside columnname "cos" under key "Mar". Thus,
> 1. Supercolumn seems to be a better fit for my use case(so that ids of users with same name may fit as sub-columns inside a super-column) but since supercolumns are not encouraged thus I want to use an alternative schema for this usecase if possible. Could you suggest some ideas on this ?


Have you any given thought on Composite columns [1]. I think it can help you solve your problem of multiple user with same name.


//  {utf8,timeUUID}:timeUUID,
you can try wide rows indexing user name to ID's

   user1:' ',
   user2:' ',
   user3:' '