我对Cassandra还不熟悉,只是玩玩而已。我已经创建了一个列 family
具有组合键和组合柱。以下是相同的脚本:
create column family TestCompositeKey with key_validation_class='CompositeType(UTF8Type, TimeUUIDType)' and comparator='CompositeType(UTF8Type, UTF8Type, UTF8Type, UTF8Type)' and default_validation_class='UTF8Type';
使用hector在列族中插入数据后,我在cli上看到的视图如下:
RowKey: AB:e9a87550-c84b-11e2-8236-180373b60c1a
=> (column=0007:TAR:PUB:BD_2013_01_11_0125094813, value=TESTSEARCH, timestamp=1369823914277000)
现在我想搜索数据只需'ab'行键中给出的第二部分键将是动态的。当我给出完整的行键时,它工作得很好。请告诉我怎么做。我也在列上提供搜索条件以及指定键。
谢谢harish kumar
1条答案
按热度按时间bd1hkmkf1#
您不能这样做(至少是有效地):要按行键查找,您需要整个键。一般来说,应该避免使用timeuuid作为行键,除非有其他表作为索引来检索查询的timeuuid。
如果只想按键的第一个组件进行查找,则应将第二个组件移动到列组合中,并只使用单个组件作为行键。定义是
如果使用cql3定义:
您将得到与我描述的基本相同的模式。行键(cql语言中的分区键)是a,列名是b:c:d:e:f的组合。