> create table messages( > body text, > username text, > tags set<text> > PRIMARY keys(username,tags) > )
This statement is syntactically invalid, also you cannot use a collection type in the primary key. > 1) I should be able to query by username and get all the messages for a > particular username yes. > 2) I should be able to query by tags and username ( likes select * from > messages where username='xya' and tags in ('awesome','phone')) No. > 3) I should be able to query all messages by day and order by desc and limit > to some value No. > Could you guys please let me know if creating a secondary index on the tags > field? No, it’s not supported. > Or what would be the best way to model this data. You need to describe the problem and how you want to read the data. I suggest taking a look at the data modelling videos from Patrick here http://planetcassandra.org/Learn/CassandraCommunityWebinars Cheers ----------------- Aaron Morton New Zealand @aaronmorton Co-Founder & Principal Consultant Apache Cassandra Consulting http://www.thelastpickle.com On 10/12/2013, at 8:57 am, Shrikar archak <shrika...@gmail.com> wrote: > Hi Data Model Experts, > I have a few questions with data modelling for a particular application. > > example > create table messages( > body text, > username text, > tags set<text> > PRIMARY keys(username,tags) > ) > > > Requirements > 1) I should be able to query by username and get all the messages for a > particular username > 2) I should be able to query by tags and username ( likes select * from > messages where username='xya' and tags in ('awesome','phone')) > 3) I should be able to query all messages by day and order by desc and limit > to some value > > > Could you guys please let me know if creating a secondary index on the tags > field? > Or what would be the best way to model this data. > > Thanks, > Shrikar