1
赫:赫克託 - 核心1.0-5卡桑德拉 - 1.1.2卡桑德拉赫克託:IndexedSliceQuery對於給定的行鍵和二級指標
我需要一個查詢中赫像模式:
select * from table1 where rowkey='x' and secondary_indexed_column='y'
如果我使用setStartKey設置爲rowKey'x'的IndexedSliceQuery,我仍然得到所有包含secondary_indexed_column ='y'的行。 如果我在addEqualsExpression添加row_key場(「row_key」,「X」),我得到以下異常:
org.apache.thrift.protocol.TProtocolException: Required field 'value' was not present! Struct: IndexExpression(column_name:64 65 76 69 63 65 5F 69 64, op:EQ, value:null)
at org.apache.cassandra.thrift.IndexExpression.validate(IndexExpression.java:562)
at org.apache.cassandra.thrift.IndexExpression.write(IndexExpression.java:499)
at org.apache.cassandra.thrift.IndexClause.write(IndexClause.java:521)
at org.apache.cassandra.thrift.Cassandra$get_indexed_slices_args.write(Cassandra.java:13469)
at org.apache.cassandra.thrift.Cassandra$Client.send_get_indexed_slices(Cassandra.java:793)
at org.apache.cassandra.thrift.Cassandra$Client.get_indexed_slices(Cassandra.java:781)
at me.prettyprint.cassandra.service.KeyspaceServiceImpl$19.execute(KeyspaceServiceImpl.java:732)
那麼,如何限制我的indexedSliceQuery只爲給定的行鍵返回結果?
所以,我有點困惑。您正在提供想要搜索特定列的行鍵?您不需要索引,只需讀取行並檢查列名和值。 IndexedSliceQuery將返回一組包含指定列名/值的行(在指定的起始點)。 – libjack