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 <samalgo...@gmail.com> 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 ?
>>> >
>>>
>>
> Aditya,
>
> Have you any given thought on Composite columns [1]. I think it can help
> you solve your problem of multiple user with same name.
>
> mar:{
>   {cos,unique_user_id}:unique_user_id,
>   {cos,1}:1,
>   {cos,2}:2,
>   {cos,3}:3,
>
> //  {utf8,timeUUID}:timeUUID,
> }
> OR
> you can try wide rows indexing user name to ID's
>
> marcos{
>    user1:' ',
>    user2:' ',
>    user3:' '
> }
>
> [1]http://www.slideshare.net/edanuff/indexing-in-cassandra
>
>

Reply via email to