我使用CompositeType
存储的数据如下所示:
RowKey: 101390
=> (column=1320987600000:P:350.0:symbol, value=AAPL/F6LbE.O, timestamp=1320771711561000)
=> (column=1320987600000:P:355.0:symbol, value=AAPL/F6LfE.O, timestamp=1320771711569000)
=> (column=1320987600000:P:360.0:symbol, value=AAPL/F6LjE.O, timestamp=1320771711576000)
=> (column=1320987600000:P:365.0:symbol, value=AAPL/F6LnE.O, timestamp=1320771711586000)
=> (column=1320987600000:P:370.0:symbol, value=AAPL/F6LrE.O, timestamp=1320771711592000)
=> (column=1320987600000:P:460.0:symbol, value=AAPL/F6LzF.O, timestamp=1320771711607000)
=> (column=1320987600000:C:350.0:symbol, value=AAPL/FuLbE.O, timestamp=1320771712117000)
=> (column=1320987600000:C:355.0:symbol, value=AAPL/FuLfE.O, timestamp=1320771712120000)
=> (column=1320987600000:C:360.0:symbol, value=AAPL/FuLjE.O, timestamp=1320771712123000)
=> (column=1320987600000:C:365.0:symbol, value=AAPL/FuLnE.O, timestamp=1320771712128000)
复合材料有四个部分:[timestamp:type:price:attribute_name]
是否可以使用SliceQuery
查询1,2或所有组件?
是否可以以这种方式查询复合材料的某些部分?到目前为止,在我的测试中,我无法将复合似乎进行比较,好像它只是长字节数组 - 而不是单个组件。
答案 0 :(得分:4)
从ML回答: 这是一个半开始的例子。应该 在评论中足以让你前进: https://github.com/zznate/cassandra-tutorial/blob/master/src/main/java/com/datastax/tutorial/StaticCompositeIndex.java
如果有帮助,请告诉我。
答案 1 :(得分:0)
是的,您可以搜索复合材料的部分内容。如果您使用的是Cassandra 0.8.1及更高版本,则需要在架构中将比较器指定为“CompositeType”。以下是使用CompositeType编程范围查询的完整教程: http://randomizedsort.blogspot.com/2011/11/cassandra-range-query-using.html