Я хотел бы создать схему, как следующий:
CREATE TABLE tweet (
user_id varint,
tweet_id timeuuid,
tweet_text text,
hashtags set<text>,
PRIMARY KEY (user_id, tweet_id)
) WITH CLUSTERING ORDER BY (tweet_id DESC);
CREATE INDEX idx_tweet_hashtags ON twitter.tweet(hashtags);
Тогда вы можете оформить запросы следующим образом:
-- Latest tweets by hashtag
SELECT * FROM tweet WHERE hashtags CONTAINS '#2' AND tweet_id > maxTimeuuid('2014-12-20 00:00+0000');
-- Latest tweets by user
SELECT * FROM tweet WHERE user_id = 1 AND tweet_id > maxTimeuuid('2014-12-20 00:00+0000') ORDER BY tweet_id DESC;
-- Latest tweets
SELECT * FROM tweet WHERE tweet_id > maxTimeuuid('2014-12-20 00:00+0000') ALLOW FILTERING;
Обратите внимание, что последний запрос выполняет «фильтрацию», поэтому он может быть «медленнее», чем другие.
Вопрос, основанный на мнениях, поможет вам получить ответы на основе мнения. Это не сайт для этого партнера :) – Codeek
Хорошо, тогда я изменю вопрос – cklar