我想根据价值和我的Java应用程序搜索记录

我使用以下代码存储记录

HTable table = new HTable(conf, tableName);
Put put = new Put(Bytes.toBytes(rowKey));
put.add(Bytes.toBytes(family), Bytes.toBytes(qualifier),
        Bytes.toBytes(value));
table.put(put);


我传递价值观

    Put put = new Put(Bytes.toBytes("rowkey"));
    put.add(Bytes.toBytes("family1"), Bytes.toBytes("qualifier1"),
            Bytes.toBytes("this is test record"));


这是我的实现

Get get = new Get(Bytes.toBytes("rowkey"));
            String[] family = { "row1" };
get.addColumn(Bytes.toBytes("family1"),Bytes.toBytes("qualifier1"));
Result rs = table.get(get);


现在我想按“这是测试记录”值搜索该记录。

帮我找到这张唱片。

最佳答案

使用过滤器,您可以搜索任何元素,并可以传递不同的组合
对于SubstringComparator BinaryComparator

FilterList flist = new FilterList();

flist.addFilter(new RowFilter(CompareOp.EQUAL, new BinaryComparator(Bytes.toBytes("Predicatevalue"))));
flist.addFilter(new QualifierFilter(CompareOp.EQUAL,new BinaryComparator(Bytes.toBytes("Subject value"))));
flist.addFilter(new ValueFilter(CompareOp.EQUAL,new BinaryComparator(Bytes.toBytes("Objectvalue"))));


这项工作对我来说。

10-04 12:48