У меня есть следующий сегмент кода. В составной колонке два компонента. Можно ли получить столбцы, если я знаю только первый компонент? В некотором смысле, применяйте некоторые выборы на один из компонентов композита (особенно последний компонент).Композитный тип Подстановочный знак последнего компонента
Спасибо.
Mutator<String> mutator = HFactory.createMutator(keyspace, stringSerializer);
String key="TX:512";
String CF="StateNpaIndexStatic";
HColumnImpl<Composite, String> column = new HColumnImpl<Composite, String>(cs, StringSerializer.get());
column.setClock(keyspace.createClock());
Composite dc = new Composite();
dc.add(0, "review");
dc.add(1, "T23333");
column.setName(dc);
column.setValue("aa");
mutator.addInsertion(key, CF, column);
mutator.execute();
Composite start = new Composite();
start.add(0, start0);
start.add(1,"*");
Composite end = new Composite();
end.add(0, end0);
end.add(1, "*");
SliceQuery<String,Composite, String> sliceQuery =HFactory.createSliceQuery(keyspace,stringSerializer, CompositeSerializer.get(), StringSerializer.get());
sliceQuery.setColumnFamily(CF);
sliceQuery.setKey(key);
sliceQuery.setRange(start, start, false, 1);
QueryResult<ColumnSlice<Composite, String>> result = sliceQuery.execute();
System.out.println("Result :"+result.get().getColumns().size()+"=========="+result);
Спасибо. Я попробовал start.addComponent (0, «review», ComponentEquality.EQUAL) и \t end.addComponent (0, «review», ComponentEquality.LESS_THAN_EQUAL); но он, похоже, не работает. Я также пытался с LESS_THAN_EQUAL с обеих сторон. –
Ваш код имеет «sliceQuery.setRange (начало, начало, ложь, 1); но должен быть «sliceQuery.setRange (начало, конец, ложь, 1);». Вы использовали этот код только сейчас? Примечание. Я также исправил свой пост - конечный диапазон должен использовать GREATER_THAN_EQUAL, а не LESS_THAN_EQUAL. – Richard
Спасибо. Это исправило это. –