我想在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);

现在我想通过“这是测试记录”值来搜索此记录。

帮我找到这个记录。

===============>>#1 票数:2 已采纳

使用过滤器可以搜索任何元素,并且可以为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"))));

这对我有用。

===============>>#2 票数:1

查看HTable上的get()方法和Get类,它类似于HTablePut类上的put()方法。

  ask by jayesh translate from so

未解决问题?本站智能推荐: