我想建立复合过滤器。
我可以做这样的事情

(filter1 and filter2) or filter3


现在我想构建相同的过滤器,但是功能为负数

(**NOT** (filter1 and filter2)) or filter3


我想用Java客户端api(org.apache.hadoop.hbase.client)来做

最佳答案

您必须使用FilterList来执行这种条件。

FilterListImplementation of Filter that represents an ordered List of Filters which will be evaluated with a specified boolean operator FilterList.Operator.MUST_PASS_ALL (AND) or FilterList.Operator.MUST_PASS_ONE (OR).

上面显示的AFAIK否定不能直接用FilterList进行。我建议使用SOLR(也可以是弹性搜索)来做到这一点。如果您使用的是Cloudera Solr(Cloudera搜索),则对此很有用。

关于java - HBase不在复合过滤器中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41304700/

10-10 01:34